drm: bridge/dw-hdmi: Fix colorspace and scan information registers values

Submitted by Jose Abreu on Aug. 18, 2016, 2:34 p.m.

Details

Message ID 96fd0f06b7ebc2ee5cb8239a99648f3107e24497.1471530573.git.joabreu@synopsys.com
State Accepted
Commit b0118e7d936c550c88bcb0e4687020e8d5cb9b54
Headers show
Series "drm: bridge/dw-hdmi: Fix colorspace and scan information registers values" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Jose Abreu Aug. 18, 2016, 2:34 p.m.
Colorspace and scan information values were being written in wrong
offsets. This patch corrects this and writes the values at the
offsets specified in the databook.

Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Cc: Carlos Palminha <palminha@synopsys.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
---
 drivers/gpu/drm/bridge/dw-hdmi.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
index 77ab473..cdf39aa 100644
--- a/drivers/gpu/drm/bridge/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/dw-hdmi.c
@@ -940,10 +940,11 @@  static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
 	 */
 
 	/*
-	 * AVI data byte 1 differences: Colorspace in bits 4,5 rather than 5,6,
-	 * active aspect present in bit 6 rather than 4.
+	 * AVI data byte 1 differences: Colorspace in bits 0,1 rather than 5,6,
+	 * scan info in bits 4,5 rather than 0,1 and active aspect present in
+	 * bit 6 rather than 4.
 	 */
-	val = (frame.colorspace & 3) << 4 | (frame.scan_mode & 0x3);
+	val = (frame.scan_mode & 3) << 4 | (frame.colorspace & 3);
 	if (frame.active_aspect & 15)
 		val |= HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT;
 	if (frame.top_bar || frame.bottom_bar)

Comments

On Thu, Aug 18, 2016 at 03:34:12PM +0100, Jose Abreu wrote:
> Colorspace and scan information values were being written in wrong
> offsets. This patch corrects this and writes the values at the
> offsets specified in the databook.
> 
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Cc: Carlos Palminha <palminha@synopsys.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Russell King <rmk+kernel@arm.linux.org.uk>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-kernel@vger.kernel.org

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>

Thanks.

> ---
>  drivers/gpu/drm/bridge/dw-hdmi.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
> index 77ab473..cdf39aa 100644
> --- a/drivers/gpu/drm/bridge/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/dw-hdmi.c
> @@ -940,10 +940,11 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
>  	 */
>  
>  	/*
> -	 * AVI data byte 1 differences: Colorspace in bits 4,5 rather than 5,6,
> -	 * active aspect present in bit 6 rather than 4.
> +	 * AVI data byte 1 differences: Colorspace in bits 0,1 rather than 5,6,
> +	 * scan info in bits 4,5 rather than 0,1 and active aspect present in
> +	 * bit 6 rather than 4.
>  	 */
> -	val = (frame.colorspace & 3) << 4 | (frame.scan_mode & 0x3);
> +	val = (frame.scan_mode & 3) << 4 | (frame.colorspace & 3);
>  	if (frame.active_aspect & 15)
>  		val |= HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT;
>  	if (frame.top_bar || frame.bottom_bar)
> -- 
> 2.1.4
>
On Mon, Aug 29, 2016 at 10:17:04AM +0100, Jose Abreu wrote:
> Colorspace and scan information values were being written in wrong
> offsets. This patch corrects this and writes the values at the
> offsets specified in the databook.
> 
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Acked-by: Russel King <rmk+kernel@armlinux.org.uk>

That's "Russell King" please.
On 29-08-2016 10:21, Russell King - ARM Linux wrote:
> On Mon, Aug 29, 2016 at 10:17:04AM +0100, Jose Abreu wrote:
>> Colorspace and scan information values were being written in wrong
>> offsets. This patch corrects this and writes the values at the
>> offsets specified in the databook.
>>
>> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
>> Acked-by: Russel King <rmk+kernel@armlinux.org.uk>
> That's "Russell King" please.
>

Sorry. Will send again.

Best regards,
Jose Miguel Abreu
Hi,

On 08/29/2016 03:00 PM, Jose Abreu wrote:
> Colorspace and scan information values were being written in wrong
> offsets. This patch corrects this and writes the values at the
> offsets specified in the databook.

queued to drm-misc after cleaning up some checkpatch
errors.

Thanks,
Archit

>
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
> Cc: Carlos Palminha <palminha@synopsys.com>
> Cc: Archit Taneja <architt@codeaurora.org>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Russell King <rmk+kernel@arm.linux.org.uk>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-kernel@vger.kernel.org
> ---
>   drivers/gpu/drm/bridge/dw-hdmi.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c
> index 77ab473..cdf39aa 100644
> --- a/drivers/gpu/drm/bridge/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/dw-hdmi.c
> @@ -940,10 +940,11 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
>   	 */
>
>   	/*
> -	 * AVI data byte 1 differences: Colorspace in bits 4,5 rather than 5,6,
> -	 * active aspect present in bit 6 rather than 4.
> +	 * AVI data byte 1 differences: Colorspace in bits 0,1 rather than 5,6,
> +	 * scan info in bits 4,5 rather than 0,1 and active aspect present in
> +	 * bit 6 rather than 4.
>   	 */
> -	val = (frame.colorspace & 3) << 4 | (frame.scan_mode & 0x3);
> +	val = (frame.scan_mode & 3) << 4 | (frame.colorspace & 3);
>   	if (frame.active_aspect & 15)
>   		val |= HDMI_FC_AVICONF0_ACTIVE_FMT_INFO_PRESENT;
>   	if (frame.top_bar || frame.bottom_bar)
>