Re: [PATCH] [media] solo6x10: fix detection of TW2864B chips
On Sat, Jul 01, 2017 at 03:26:01PM +0400, Anton Sviridenko wrote: > This patch enables support for non-Bluecherry labeled solo6110 > based PCI cards which have 3 x TW2864B chips and one TW2865. > These cards are displayed by lspci -nn as > > "Softlogic Co., Ltd. SOLO6110 H.264 Video encoder/decoder [9413:6110]" > > Bluecherry cards have 4 x TW2864A. According to datasheet register 0xFF > of TW2864B chips contains value 0x6A or 0x6B depending on revision > which being shifted 3 bits right gives value 0x0d. > Existing version of solo6x10 fails on these cards with > > [276582.344942] solo6x10 :07:00.0: Probing Softlogic 6110 > [276582.402151] solo6x10 :07:00.0: Could not initialize any techwell chips > [276582.402781] solo6x10: probe of :07:00.0 failed with error -22 > > Signed-off-by: Anton SviridenkoAcked-by: Andrey Utkin I have looked into same case long time ago, just haven't managed to conclude.
[PATCH] [media] solo6x10: fix detection of TW2864B chips
This patch enables support for non-Bluecherry labeled solo6110 based PCI cards which have 3 x TW2864B chips and one TW2865. These cards are displayed by lspci -nn as "Softlogic Co., Ltd. SOLO6110 H.264 Video encoder/decoder [9413:6110]" Bluecherry cards have 4 x TW2864A. According to datasheet register 0xFF of TW2864B chips contains value 0x6A or 0x6B depending on revision which being shifted 3 bits right gives value 0x0d. Existing version of solo6x10 fails on these cards with [276582.344942] solo6x10 :07:00.0: Probing Softlogic 6110 [276582.402151] solo6x10 :07:00.0: Could not initialize any techwell chips [276582.402781] solo6x10: probe of :07:00.0 failed with error -22 Signed-off-by: Anton Sviridenko--- drivers/media/pci/solo6x10/solo6x10-tw28.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/pci/solo6x10/solo6x10-tw28.c b/drivers/media/pci/solo6x10/solo6x10-tw28.c index 0632d3f7c73c..c74a0fdb35fb 100644 --- a/drivers/media/pci/solo6x10/solo6x10-tw28.c +++ b/drivers/media/pci/solo6x10/solo6x10-tw28.c @@ -606,6 +606,7 @@ int solo_tw28_init(struct solo_dev *solo_dev) solo_dev->tw28_cnt++; break; case 0x0c: + case 0x0d: solo_dev->tw2864 |= 1 << i; solo_dev->tw28_cnt++; break; -- 2.13.0