<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Thanks for your comments</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">
</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Stéphane<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Please find mine inline.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">In general, I got the overall recommendations that if this implementation comes from generic DRM property, it would be easy to club with general interfaces, and atomic modeset
 calls. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">I will work on this, and will come back with modified patches.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Regards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Shashank
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Stéphane Marchesin [mailto:stephane.marchesin@gmail.com]
<br>
<b>Sent:</b> Monday, February 24, 2014 9:35 AM<br>
<b>To:</b> Sharma, Shashank<br>
<b>Cc:</b> Ville Syrjälä; Intel Graphics Development; Shankar, Uma; dri-devel@lists.freedesktop.org<br>
<b>Subject:</b> Re: [Intel-gfx] [PATCH 0/6] Intel Color Manager Framework<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D">></span>+1. We'e looking into hooking up color correction controls, and if the interface isn't standard our user space won't be portable across drivers.
 There are multiple reasons for using drm properties:<span style="color:#1F497D"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D">></span>- the KMS interface already provides a way to set the gamma ramp, which this code seems to replicate.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The
 current KMS interface just initializes the gamma soft LUT palette registers, in 8 bit mode corresponding to unit gamma. It’s impossible to apply accurate values corresponding to gamma=2.2 or 1.5 from KMS</span><span style="color:#1F497D"><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Because for
 that we need to program palette registers in 10.6 bit mode of hardware.</span><span style="color:#1F497D"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D">></span>Then the existing interface should be extended. Otherwise you have two ways to do the same thing...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Agree.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D">></span>- the KMS interface allows us to name properties independently and enumerate them. It seems like right now you can't enumerate properties or
 guess what "property 0" is. I'd rather set the "Color conversion matrix" than remember to set
<span style="color:#1F497D">></span>"property 0" (and even then, I'm not really sure it exists).<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:11.55pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">All the properties are getting enumerated in color manager register function. The framework defines proper identifiers and mapping for each property, and every property is having
 a corresponding soft-lut to be loaded with correction values.  </span><span style="color:#1F497D"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal">Correct me if I'm wrong, but I don't see a way for user space to query the presence/absence of a given property. KMS allows that.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D">The color manager read function dumps the no of properties, and current status of the property. But I agree its better interface to have it in form of property, as far as the central control is concerned.  <o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">- you can reuse the get/set infrastructure which is already in place<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#1F497D">></span>Another thing that came out of the discussion on irc is that we should standardize the properties. For example we could use a text file describing
 the name of the controls and the format of the data (something similar to the device tree
<span style="color:#1F497D">></span>bindings). That way user space can expect "color conversion matrix" to mean the same thing everywhere, to get the same data as input, and to work the same way on all platforms.<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:11.55pt">
<span style="color:#1F497D">If you can please have a look on the header file, we are almost doing the same thing, in form of a protocol.</span><span style="color:#1F497D"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><span style="color:#1F497D">></span>This protocol however is not extensible. With the KMS interface I can already do the following from user space:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D">></span>- query the existence of a given property<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D">></span>- set each property in a portable fashion (for example the same gamma ramp code works on all DRM drivers)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D">></span>- easily match properties to a given crtc<span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Actually each of this is possible from color manager read/write, read dumps information per pipe basis.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>