Intel-GFX Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox