All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramalingam C <ramalingam.c@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	"Winkler, Tomas" <tomas.winkler@intel.com>,
	intel-gfx <intel-gfx@lists.freedesktop.org>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH v6 1/3] drm/i915: enum transcoder and pipe are moved into i915_drm.h
Date: Tue, 20 Aug 2019 18:18:45 +0530	[thread overview]
Message-ID: <20190820124845.GC7668@intel.com> (raw)
In-Reply-To: <87mug4dnnm.fsf@intel.com>

On 2019-08-20 at 15:30:53 +0300, Jani Nikula wrote:
> On Tue, 20 Aug 2019, Ramalingam C <ramalingam.c@intel.com> wrote:
> > On 2019-08-20 at 14:14:03 +0530, Winkler, Tomas wrote:
> >> 
> >> 
> >> > 
> >> > For the reusability of the enum transcoder and enum pipe in other driver
> >> > modules (like mei_hdcp), enum port definition is moved from I915 local header
> >> > intel_display.h to drm/i915_drm.h
> >> 
> >> Don't you need to name space those definitions in the global space, I guess there are a lot of 'pipe' variables and definitions you can conflict with. 
> >> I guess it should be enum i915_pipe, etc. 
> > I am assuming that this header will be used only when you we build for
> > I915 driver(intel). In such case, we wont have a conflict.
> >
> > Unless until this renaming is needed, we shouldn't get into it, as this
> > will demand i915 wide renaming.
> 
> I think we need to keep enum transcoder and enum pipe internal to i915,
> as well as pull enum port from i915_drm.h back to i915 internal as
> well. I don't think they should be exposed outside of i915.
> 
> I think it would be better to expose the existing enum mei_fw_ddi and
> the new enum mei_fw_tc from MEI to i915 instead, and have i915 fill in
> the relevant physical_port (ddi index) and attached_transcoder (tc
> type). I don't know what these members should be called in struct
> hdcp_port_data, but the point is that i915 would do the translation, not
> mei_hdcp.c. The types of these members should obviously be enum
> meo_fw_ddi and enum mei_fw_tc.

Jani,

Yes, If we could move the enum mei_fw_ddi and enum mei_fw_tc into
include/drm/i915_mei_hdcp_interface.h along with struct
hdcp_port_data, then we could keep the pipe, port and transcoder as
local to I915. I915 could implement the conversion from transcoder to
mei_fw_tc etc and setup hdcp_port_data.

Tomas, Do you agree with this?

-Ram

> 
> Thoughts?
> 
> BR,
> Jani.
> 
> 
> >
> > -Ram
> >> 
> >> Thanks
> >> Tomas
> >> 
> >> 
> >> > 
> >> > Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> >> > ---
> >> >  drivers/gpu/drm/i915/display/intel_display.h | 44 -------------------
> >> >  include/drm/i915_drm.h                       | 46 ++++++++++++++++++++
> >> >  2 files changed, 46 insertions(+), 44 deletions(-)
> >> > 
> >> > diff --git a/drivers/gpu/drm/i915/display/intel_display.h
> >> > b/drivers/gpu/drm/i915/display/intel_display.h
> >> > index e57e6969051d..56f3d9073159 100644
> >> > --- a/drivers/gpu/drm/i915/display/intel_display.h
> >> > +++ b/drivers/gpu/drm/i915/display/intel_display.h
> >> > @@ -71,50 +71,6 @@ enum i915_gpio {
> >> >  	GPIOO,
> >> >  };
> >> > 
> >> > -/*
> >> > - * Keep the pipe enum values fixed: the code assumes that PIPE_A=0, the
> >> > - * rest have consecutive values and match the enum values of transcoders
> >> > - * with a 1:1 transcoder -> pipe mapping.
> >> > - */
> >> > -enum pipe {
> >> > -	INVALID_PIPE = -1,
> >> > -
> >> > -	PIPE_A = 0,
> >> > -	PIPE_B,
> >> > -	PIPE_C,
> >> > -	PIPE_D,
> >> > -	_PIPE_EDP,
> >> > -
> >> > -	I915_MAX_PIPES = _PIPE_EDP
> >> > -};
> >> > -
> >> > -#define pipe_name(p) ((p) + 'A')
> >> > -
> >> > -enum transcoder {
> >> > -	/*
> >> > -	 * The following transcoders have a 1:1 transcoder -> pipe mapping,
> >> > -	 * keep their values fixed: the code assumes that TRANSCODER_A=0,
> >> > the
> >> > -	 * rest have consecutive values and match the enum values of the pipes
> >> > -	 * they map to.
> >> > -	 */
> >> > -	TRANSCODER_A = PIPE_A,
> >> > -	TRANSCODER_B = PIPE_B,
> >> > -	TRANSCODER_C = PIPE_C,
> >> > -	TRANSCODER_D = PIPE_D,
> >> > -
> >> > -	/*
> >> > -	 * The following transcoders can map to any pipe, their enum value
> >> > -	 * doesn't need to stay fixed.
> >> > -	 */
> >> > -	TRANSCODER_EDP,
> >> > -	TRANSCODER_DSI_0,
> >> > -	TRANSCODER_DSI_1,
> >> > -	TRANSCODER_DSI_A = TRANSCODER_DSI_0,	/* legacy DSI */
> >> > -	TRANSCODER_DSI_C = TRANSCODER_DSI_1,	/* legacy DSI */
> >> > -
> >> > -	I915_MAX_TRANSCODERS
> >> > -};
> >> > -
> >> >  static inline const char *transcoder_name(enum transcoder transcoder)  {
> >> >  	switch (transcoder) {
> >> > diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index
> >> > 23274cf92712..b0779b8267b9 100644
> >> > --- a/include/drm/i915_drm.h
> >> > +++ b/include/drm/i915_drm.h
> >> > @@ -118,4 +118,50 @@ enum port {
> >> > 
> >> >  #define port_name(p) ((p) + 'A')
> >> > 
> >> > +/*
> >> > + * Keep the pipe enum values fixed: the code assumes that PIPE_A=0, the
> >> > + * rest have consecutive values and match the enum values of
> >> > +transcoders
> >> > + * with a 1:1 transcoder -> pipe mapping.
> >> > + */
> >> > +enum pipe {
> >> > +	INVALID_PIPE = -1,
> >> > +
> >> > +	PIPE_A = 0,
> >> > +	PIPE_B,
> >> > +	PIPE_C,
> >> > +	PIPE_D,
> >> > +	_PIPE_EDP,
> >> > +
> >> > +	I915_MAX_PIPES = _PIPE_EDP
> >> > +};
> >> > +
> >> > +#define pipe_name(p) ((p) + 'A')
> >> > +
> >> > +enum transcoder {
> >> > +	INVALID_TRANSCODER = -1,
> >> > +
> >> > +	/*
> >> > +	 * The following transcoders have a 1:1 transcoder -> pipe mapping,
> >> > +	 * keep their values fixed: the code assumes that TRANSCODER_A=0,
> >> > the
> >> > +	 * rest have consecutive values and match the enum values of the pipes
> >> > +	 * they map to.
> >> > +	 */
> >> > +	TRANSCODER_A = PIPE_A,
> >> > +	TRANSCODER_B = PIPE_B,
> >> > +	TRANSCODER_C = PIPE_C,
> >> > +	TRANSCODER_D = PIPE_D,
> >> > +
> >> > +	/*
> >> > +	 * The following transcoders can map to any pipe, their enum value
> >> > +	 * doesn't need to stay fixed.
> >> > +	 */
> >> > +	TRANSCODER_EDP,
> >> > +	TRANSCODER_DSI_0,
> >> > +	TRANSCODER_DSI_1,
> >> > +	TRANSCODER_DSI_A = TRANSCODER_DSI_0,	/* legacy DSI */
> >> > +	TRANSCODER_DSI_C = TRANSCODER_DSI_1,	/* legacy DSI */
> >> > +
> >> > +	I915_MAX_TRANSCODERS
> >> > +};
> >> > +
> >> >  #endif				/* _I915_DRM_H_ */
> >> > --
> >> > 2.20.1
> >> 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-08-20 12:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-20  7:30 [PATCH v6 0/3] drm/i915: Enable HDCP 1.4 and 2.2 on Gen12+ Ramalingam C
2019-08-20  7:30 ` [PATCH v6 1/3] drm/i915: enum transcoder and pipe are moved into i915_drm.h Ramalingam C
2019-08-20  8:44   ` Winkler, Tomas
2019-08-20  9:03     ` Ramalingam C
2019-08-20 12:30       ` Jani Nikula
2019-08-20 12:48         ` Ramalingam C [this message]
2019-08-20  7:30 ` [PATCH v6 2/3] misc/mei_hdcp: Adding the transcoder detail in payload input Ramalingam C
2019-08-20  8:45   ` Winkler, Tomas
2019-08-20 10:20     ` Ramalingam C
2019-08-20  7:30 ` [PATCH v6 3/3] drm/i915: Enable HDCP 1.4 and 2.2 on Gen12+ Ramalingam C
2019-08-20 10:02 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Enable HDCP 1.4 and 2.2 on Gen12+ (rev4) Patchwork
2019-08-20 12:04 ` ✓ Fi.CI.BAT: success " Patchwork
2019-08-20 17:35 ` ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2019-08-19 15:24 [PATCH v6 0/3] drm/i915: Enable HDCP 1.4 and 2.2 on Gen12+ Ramalingam C
2019-08-19 15:24 ` [PATCH v6 1/3] drm/i915: enum transcoder and pipe are moved into i915_drm.h Ramalingam C

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190820124845.GC7668@intel.com \
    --to=ramalingam.c@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=tomas.winkler@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.