| From 83713fc9373be2e943f82e9d36213708c6b0050e Mon Sep 17 00:00:00 2001 |
| From: Hans Verkuil <hans.verkuil@cisco.com> |
| Date: Mon, 14 Nov 2011 19:20:49 +0100 |
| Subject: ARM: davinci: dm646x evm: wrong register used in setup_vpif_input_channel_mode |
| |
| From: Hans Verkuil <hans.verkuil@cisco.com> |
| |
| commit 83713fc9373be2e943f82e9d36213708c6b0050e upstream. |
| |
| The function setup_vpif_input_channel_mode() used the VSCLKDIS register |
| instead of VIDCLKCTL. This meant that when in HD mode videoport channel 0 |
| used a different clock from channel 1. |
| |
| Clearly a copy-and-paste error. |
| |
| Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> |
| Acked-by: Manjunath Hadli <manjunath.hadli@ti.com> |
| Signed-off-by: Sekhar Nori <nsekhar@ti.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/arm/mach-davinci/board-dm646x-evm.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- a/arch/arm/mach-davinci/board-dm646x-evm.c |
| +++ b/arch/arm/mach-davinci/board-dm646x-evm.c |
| @@ -502,7 +502,7 @@ static int setup_vpif_input_channel_mode |
| int val; |
| u32 value; |
| |
| - if (!vpif_vsclkdis_reg || !cpld_client) |
| + if (!vpif_vidclkctl_reg || !cpld_client) |
| return -ENXIO; |
| |
| val = i2c_smbus_read_byte(cpld_client); |
| @@ -510,7 +510,7 @@ static int setup_vpif_input_channel_mode |
| return val; |
| |
| spin_lock_irqsave(&vpif_reg_lock, flags); |
| - value = __raw_readl(vpif_vsclkdis_reg); |
| + value = __raw_readl(vpif_vidclkctl_reg); |
| if (mux_mode) { |
| val &= VPIF_INPUT_TWO_CHANNEL; |
| value |= VIDCH1CLK; |
| @@ -518,7 +518,7 @@ static int setup_vpif_input_channel_mode |
| val |= VPIF_INPUT_ONE_CHANNEL; |
| value &= ~VIDCH1CLK; |
| } |
| - __raw_writel(value, vpif_vsclkdis_reg); |
| + __raw_writel(value, vpif_vidclkctl_reg); |
| spin_unlock_irqrestore(&vpif_reg_lock, flags); |
| |
| err = i2c_smbus_write_byte(cpld_client, val); |