[Intel-gfx] [PATCH 02/23] drm: Add structure for querying palette color capabilities
Daniel Vetter
daniel at ffwll.ch
Wed Sep 23 06:26:18 PDT 2015
On Wed, Sep 23, 2015 at 11:57:58AM +0000, Sharma, Shashank wrote:
> This would be an interface/design change, to change from one blob of
> correction property, to split into multiple query properties for
> palette_before_blob and palette_after_blob. Please let me know if this
> is really required ?
Yes I think splitting this up into one property per value is the right
approach. That's also why we split the before/after gamma tables and the
ctm each into it's own property.
And I don't think this is a design change of the interface - we still
exchange the exact same values with the exact semantics between kernel and
userspace, there's just a small difference in the actual transport
protocol. Those kinds of minor changes happen all the time when
upstreaming features. And that's the reason why we absolutely _must_ have
a close collaboration between the kernel and userspace side. Which
unfortunately on this feature here took a few months to get going, but
hopefully with shared git trees and talking on irc now that should be
easier.
-Daniel
>
> Regards
> Shashank
> -----Original Message-----
> From: Smith, Gary K
> Sent: Wednesday, September 23, 2015 3:17 PM
> To: Sharma, Shashank; Daniel Vetter; Roper, Matthew D
> Cc: Matheson, Annie J; Bradford, Robert; Palleti, Avinash Reddy; intel-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org; Mukherjee, Indranil; Bish, Jim; kausalmalladi at gmail.com; Vetter, Daniel
> Subject: RE: [PATCH 02/23] drm: Add structure for querying palette color capabilities
>
> Given that its only one word of info per LUT, I'm OK with it being two separate properties.
> I believe it was much more complex previously with a lot more info per LUT, which is probably why I preferred a blob.
>
> Thanks
> Gary
>
> -----Original Message-----
> From: Sharma, Shashank
> Sent: Wednesday, September 23, 2015 9:10 AM
> To: Daniel Vetter; Roper, Matthew D
> Cc: Matheson, Annie J; Bradford, Robert; Palleti, Avinash Reddy; intel-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org; Mukherjee, Indranil; Bish, Jim; Smith, Gary K; kausalmalladi at gmail.com; Vetter, Daniel
> Subject: Re: [PATCH 02/23] drm: Add structure for querying palette color capabilities
>
> Hi Matt, Daniel
> Addressing the review comments from both of you here.
>
> Regards
> Shashank
>
> On 9/22/2015 6:32 PM, Daniel Vetter wrote:
> > On Wed, Sep 16, 2015 at 10:51:31AM -0700, Matt Roper wrote:
> >> On Wed, Sep 16, 2015 at 11:06:59PM +0530, Shashank Sharma wrote:
> >>> From: Kausal Malladi <kausalmalladi at gmail.com>
> >>>
> >>> The DRM color management framework is targeting various hardware
> >>> platforms and drivers. Different platforms can have different color
> >>> correction and enhancement capabilities.
> >>>
> >>> A commom user space application can query these capabilities using
> >>> the DRM property interface. Each driver can fill this property with
> >>> its platform's palette color capabilities.
> >>>
> >>> This patch adds new structure in DRM layer for querying palette
> >>> color capabilities. This structure will be used by all user space
> >>> agents to configure appropriate color configurations.
> >>>
> >>> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
> >>> Signed-off-by: Kausal Malladi <kausalmalladi at gmail.com>
> >>
> >> I think you provided an explanation on a previous code review cycle,
> >> but I forget the details now...what's the benefit to using a blob for
> >> caps rather than having these be individual properties? Individual
> >> properties seems more natural to me, but I think you had a
> >> justification for blobbing them together; that reasoning would be
> >> good to include in the commit message.
> >
> > Yeah I'm leaning slightly towards individual props too, that would
> > give us a bit more freedom with placing them (e.g. if someone comes up
> > with funky hw where before_ctm and ctm are per-plane and after_ctm is
> > on the crtc, with only some planes support the before_ctm gamma table).
> This was the part where we spent most of the time during the design review, and the reason we came up for this was:
> - This is a read only property, which userspace would like to read only once, and cache the information. It was also Gary's opinion to keep this as single blob for all.
> - Making individual property needs more information to be provided to user space.
> - This is a blob only for pipe level capabilities, the plane level blob will be separate from this.
> - We can handle this HW also, by loading proper plane and pipe level capability blob. This is more convenient to have all the capabilities together at the same place, than keep on querying the same.
> >
> > Also if you do per-prop properties instead of the blob you can drop
> > the version/reserved fields, since properties are inheritedly designed
> > to be extendible. So no need to revision them again (it only leads to
> > more code that might break).
> > -Daniel
> >
> We are anyways planning to drop the version, as per Ville's comment.
> - Shashank
> >>
> >>
> >> Matt
> >>
> >>> ---
> >>> include/uapi/drm/drm.h | 11 +++++++++++
> >>> 1 file changed, 11 insertions(+)
> >>>
> >>> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h index
> >>> 3801584..e3c642f 100644
> >>> --- a/include/uapi/drm/drm.h
> >>> +++ b/include/uapi/drm/drm.h
> >>> @@ -829,6 +829,17 @@ struct drm_event_vblank {
> >>> __u32 reserved;
> >>> };
> >>>
> >>> +struct drm_palette_caps {
> >>> + /* Structure version. Should be 1 currently */
> >>> + __u32 version;
> >>> + /* For padding and future use */
> >>> + __u32 reserved;
> >>> + /* This may be 0 if not supported. e.g. plane palette or VLV pipe */
> >>> + __u32 num_samples_before_ctm;
> >>> + /* This will be non-zero for pipe. May be zero for planes on some HW */
> >>> + __u32 num_samples_after_ctm;
> >>> +};
> >>> +
> >>> /* typedef area */
> >>> #ifndef __KERNEL__
> >>> typedef struct drm_clip_rect drm_clip_rect_t;
> >>> --
> >>> 1.9.1
> >>>
> >>
> >> --
> >> Matt Roper
> >> Graphics Software Engineer
> >> IoTG Platform Enabling & Development
> >> Intel Corporation
> >> (916) 356-2795
> >> _______________________________________________
> >> dri-devel mailing list
> >> dri-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/dri-devel
> >
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list