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
next prev parent 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