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