media: solo6x10: fix detection of TW2864B chips
authorAnton Sviridenko <anton@corp.bluecherry.net>
Sat, 1 Jul 2017 11:26:01 +0000 (07:26 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 20 Jul 2017 10:53:34 +0000 (06:53 -0400)
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 0000:07:00.0: Probing Softlogic 6110
[276582.402151] solo6x10 0000:07:00.0: Could not initialize any techwell chips
[276582.402781] solo6x10: probe of 0000:07:00.0 failed with error -22

Signed-off-by: Anton Sviridenko <anton@corp.bluecherry.net>
Acked-by: Andrey Utkin <andrey_utkin@fastmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/pci/solo6x10/solo6x10-tw28.c

index 1c013a0..7ecb725 100644 (file)
@@ -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;