From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2] drm/color: Document CTM eqations Date: Tue, 31 Jan 2017 14:37:05 +0200 Message-ID: <87bmun2yoe.fsf@intel.com> References: <1485859714-26619-1-git-send-email-brian.starkey@arm.com> <87efzj31r2.fsf@intel.com> <20170131120236.GA24500@e106950-lin.cambridge.arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F9276E646 for ; Tue, 31 Jan 2017 12:37:08 +0000 (UTC) In-Reply-To: <20170131120236.GA24500@e106950-lin.cambridge.arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brian Starkey Cc: Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAzMSBKYW4gMjAxNywgQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29t PiB3cm90ZToKPiBIaSBKYW5pLAo+Cj4gT24gVHVlLCBKYW4gMzEsIDIwMTcgYXQgMDE6MzA6NDFQ TSArMDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+T24gVHVlLCAzMSBKYW4gMjAxNywgQnJpYW4g U3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPiB3cm90ZToKPj4+IEV4cGxpY2l0bHkgc3Rh dGUgdGhlIGV4cGVjdGVkIENUTSBlcXVhdGlvbnMgaW4gdGhlIGtlcm5lbGRvYyBmb3IgdGhlIENU TQo+Pj4gcHJvcGVydHksIGFuZCB0aGUgZm9ybSBvZiB0aGUgbWF0cml4IG9uIHN0cnVjdCBkcm1f Y29sb3JfY3RtLgo+Pj4KPj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+Pj4gQ2M6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2Vy bGluQGludGVsLmNvbT4KPj4+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgo+Pj4gU2lnbmVkLW9mZi1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3RhcmtleUBhcm0u Y29tPgo+Pj4gLS0tCj4+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgfCAgIDEz ICsrKysrKysrKysrKysKPj4+ICBpbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICB8ICAg IDggKysrKysrKy0KPj4+ICAyIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9t Z210LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwo+Pj4gaW5kZXggNzg5YjRj NjVjZDY5Li43NTczY2E0YjZlYTYgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2NvbG9yX21nbXQuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMK Pj4+IEBAIC02Miw2ICs2MiwxOSBAQAo+Pj4gICAqCXVuaXQvcGFzcy10aHJ1IG1hdHJpeCBzaG91 bGQgYmUgdXNlZC4gVGhpcyBpcyBnZW5lcmFsbHkgdGhlIGRyaXZlcgo+Pj4gICAqCWJvb3QtdXAg c3RhdGUgdG9vLgo+Pj4gICAqCj4+PiArICoJVGhlIG91dHB1dCB2ZWN0b3IgaXMgcmVsYXRlZCB0 byB0aGUgaW5wdXQgdmVjdG9yIGFzIGJlbG93Ogo+Pj4gKyAqCj4+PiArICoJfCBgYG91dFswXSA9 IG1hdHJpeFswXSAqIGluWzBdICsgbWF0cml4WzFdICogaW5bMV0gKyBtYXRyaXhbMl0gKiBpblsy XTtgYAo+Pj4gKyAqCXwgYGBvdXRbMV0gPSBtYXRyaXhbM10gKiBpblswXSArIG1hdHJpeFs0XSAq IGluWzFdICsgbWF0cml4WzVdICogaW5bMl07YGAKPj4+ICsgKgl8IGBgb3V0WzJdID0gbWF0cml4 WzZdICogaW5bMF0gKyBtYXRyaXhbN10gKiBpblsxXSArIG1hdHJpeFs4XSAqIGluWzJdO2BgCj4+ Cj4+V291bGQgdGhhdCBub3Qgd29yayBiZXR0ZXIgd2l0aCBhIHByZWZvcm1hdHRlZCBibG9jaz8g UmVwbGFjZSB0aGUgY29sb24KPj5pbiB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCB3aXRoIHRoZSBk b3VibGUgY29sb24gOjosIGFuZCBpbmRlbnQgdGhlCj4+YmxvY2suCj4+Cj4KPiBBaCB0aGFua3Mg Zm9yIHRoZSB0aXAsIEkgY291bGRuJ3QgZ2V0IGl0IHRvIHdvcmsgYnV0IGl0IGxvb2tzIGxpa2Ug bXkKPiBzeW50YXggd2FzIGEgYml0IG9mZi4gSSdsbCByZXNlbmQgd2l0aCB0aGF0IGNoYW5nZS4K Pgo+Pj4gKyAqCj4+PiArICoJVGhlIGNvbXBvbmVudCBvcmRlciBpbiB0aGUgaW5wdXQvb3V0cHV0 IHZlY3RvcnMgaXMgYXNzdW1lZCB0byBiZQo+Pj4gKyAqCXsgUiwgRywgQiB9Lgo+Pj4gKyAqCj4+ PiArICoJVGhlIGNvbG9yLXNwYWNlIG9mIHRoZSBpbnB1dCB2ZWN0b3IgbXVzdCBub3QgYmUgY29u ZnVzZWQgd2l0aCB0aGUKPj4+ICsgKgljb2xvci1zcGFjZSBpbXBsaWVkIGJ5IGEgZnJhbWVidWZm ZXIgcGl4ZWwgZm9ybWF0LCB3aGljaCBtYXkgYmUgdGhlIHNhbWUKPj4+ICsgKglvciBkaWZmZXJl bnQuCj4+PiArICoKPj4+ICAgKiDigJxHQU1NQV9MVVTigJ06Cj4+PiAgICoJQmxvYiBwcm9wZXJ0 eSB0byBzZXQgdGhlIGdhbW1hIGxvb2t1cCB0YWJsZSAoTFVUKSBtYXBwaW5nIHBpeGVsIGRhdGEK Pj4+ICAgKglhZnRlciB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IHRvIGRhdGEgc2VudCB0byB0 aGUgY29ubmVjdG9yLiBUaGUKPj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPj4+IGluZGV4IGNlN2VmZTJlOGE1 ZS4uMzQwMTYzN2NhZjhlIDEwMDY0NAo+Pj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9k ZS5oCj4+PiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPj4+IEBAIC01MjUsNyAr NTI1LDEzIEBAIHN0cnVjdCBkcm1fbW9kZV9jcnRjX2x1dCB7Cj4+PiAgfTsKPj4+Cj4+PiAgc3Ry dWN0IGRybV9jb2xvcl9jdG0gewo+Pj4gLQkvKiBDb252ZXJzaW9uIG1hdHJpeCBpbiBTMzEuMzIg Zm9ybWF0LiAqLwo+Pj4gKwkvKgo+Pj4gKwkgKiBDb252ZXJzaW9uIG1hdHJpeCBpbiBTMzEuMzIg Zm9ybWF0LCBpbiByb3ctbWFqb3IgZm9ybToKPj4+ICsJICoKPj4+ICsJICogfCBtYXRyaXhbMF0g bWF0cml4WzFdIG1hdHJpeFsyXSB8Cj4+PiArCSAqIHwgbWF0cml4WzNdIG1hdHJpeFs0XSBtYXRy aXhbNV0gfAo+Pj4gKwkgKiB8IG1hdHJpeFs2XSBtYXRyaXhbN10gbWF0cml4WzhdIHwKPj4+ICsJ ICovCj4+Cj4+U2FtZSBoZXJlLgo+Cj4gVGhpcyBjb21tZW50IGlzbid0IGFjdHVhbGx5IGtlcm5l bGRvYywgc28gSSBndWVzcyBub3QgcnN0IGVpdGhlci4KPiBJIGNhbiBpbmNsdWRlIHRoZSBtYXJr dXAgaWYgeW91IGxpa2UsIGJ1dCB0aGUgfHMgaGVyZSB3ZXJlIHRvIGluZGljYXRlCj4gaXQncyBh IG1hdHJpeCByYXRoZXIgdGhhbiBmb3IgcnN0LgoKT2gsIHJpZ2h0LiBVcCB0byB5b3UuCgo+Cj4g Q2hlZXJzLAo+IC1Ccmlhbgo+Cj4+Cj4+PiAgCV9fczY0IG1hdHJpeFs5XTsKPj4+ICB9Owo+Pgo+ Pi0tIAo+PkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgoK LS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752151AbdAaMhY convert rfc822-to-8bit (ORCPT ); Tue, 31 Jan 2017 07:37:24 -0500 Received: from mga01.intel.com ([192.55.52.88]:52291 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752118AbdAaMhI (ORCPT ); Tue, 31 Jan 2017 07:37:08 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,315,1477983600"; d="scan'208";a="815401671" From: Jani Nikula To: Brian Starkey Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sean Paul , Ville =?utf-8?B?U3lyasOkbMOk?= , Lionel Landwerlin , Daniel Vetter Subject: Re: [PATCH v2] drm/color: Document CTM eqations In-Reply-To: <20170131120236.GA24500@e106950-lin.cambridge.arm.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1485859714-26619-1-git-send-email-brian.starkey@arm.com> <87efzj31r2.fsf@intel.com> <20170131120236.GA24500@e106950-lin.cambridge.arm.com> Date: Tue, 31 Jan 2017 14:37:05 +0200 Message-ID: <87bmun2yoe.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 31 Jan 2017, Brian Starkey wrote: > Hi Jani, > > On Tue, Jan 31, 2017 at 01:30:41PM +0200, Jani Nikula wrote: >>On Tue, 31 Jan 2017, Brian Starkey wrote: >>> Explicitly state the expected CTM equations in the kerneldoc for the CTM >>> property, and the form of the matrix on struct drm_color_ctm. >>> >>> Cc: Ville Syrjälä >>> Cc: Lionel Landwerlin >>> Cc: Daniel Vetter >>> Signed-off-by: Brian Starkey >>> --- >>> drivers/gpu/drm/drm_color_mgmt.c | 13 +++++++++++++ >>> include/uapi/drm/drm_mode.h | 8 +++++++- >>> 2 files changed, 20 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/drm/drm_color_mgmt.c >>> index 789b4c65cd69..7573ca4b6ea6 100644 >>> --- a/drivers/gpu/drm/drm_color_mgmt.c >>> +++ b/drivers/gpu/drm/drm_color_mgmt.c >>> @@ -62,6 +62,19 @@ >>> * unit/pass-thru matrix should be used. This is generally the driver >>> * boot-up state too. >>> * >>> + * The output vector is related to the input vector as below: >>> + * >>> + * | ``out[0] = matrix[0] * in[0] + matrix[1] * in[1] + matrix[2] * in[2];`` >>> + * | ``out[1] = matrix[3] * in[0] + matrix[4] * in[1] + matrix[5] * in[2];`` >>> + * | ``out[2] = matrix[6] * in[0] + matrix[7] * in[1] + matrix[8] * in[2];`` >> >>Would that not work better with a preformatted block? Replace the colon >>in the preceding paragraph with the double colon ::, and indent the >>block. >> > > Ah thanks for the tip, I couldn't get it to work but it looks like my > syntax was a bit off. I'll resend with that change. > >>> + * >>> + * The component order in the input/output vectors is assumed to be >>> + * { R, G, B }. >>> + * >>> + * The color-space of the input vector must not be confused with the >>> + * color-space implied by a framebuffer pixel format, which may be the same >>> + * or different. >>> + * >>> * “GAMMA_LUT”: >>> * Blob property to set the gamma lookup table (LUT) mapping pixel data >>> * after the transformation matrix to data sent to the connector. The >>> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h >>> index ce7efe2e8a5e..3401637caf8e 100644 >>> --- a/include/uapi/drm/drm_mode.h >>> +++ b/include/uapi/drm/drm_mode.h >>> @@ -525,7 +525,13 @@ struct drm_mode_crtc_lut { >>> }; >>> >>> struct drm_color_ctm { >>> - /* Conversion matrix in S31.32 format. */ >>> + /* >>> + * Conversion matrix in S31.32 format, in row-major form: >>> + * >>> + * | matrix[0] matrix[1] matrix[2] | >>> + * | matrix[3] matrix[4] matrix[5] | >>> + * | matrix[6] matrix[7] matrix[8] | >>> + */ >> >>Same here. > > This comment isn't actually kerneldoc, so I guess not rst either. > I can include the markup if you like, but the |s here were to indicate > it's a matrix rather than for rst. Oh, right. Up to you. > > Cheers, > -Brian > >> >>> __s64 matrix[9]; >>> }; >> >>-- >>Jani Nikula, Intel Open Source Technology Center -- Jani Nikula, Intel Open Source Technology Center