af9035: add support for 2nd tuner of MSI DigiVox Diversity
Subsystems (2)
PATCH 1/1 af9035: add support for 2nd tuner of MSI DigiVox Diversity
PIP tested with VLC. Diversity tested with the Windows driver.
--- drivers/media/usb/dvb-usb-v2/af9035.c | 4 ++-- drivers/media/usb/dvb-usb-v2/af9035.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-)
drivers/media/usb/dvb-usb-v2/af9035.c +2 -2
@@ -684,7 +684,7 @@ static int af9035_download_firmware(struct dvb_usb_device *d,if (ret <0 ) goto err; -if (tmp ==1 || tmp ==3 ) { +if (tmp ==1 || tmp ==3 || tmp ==5 ) {/* configure gpioh1, reset & power slave demod */ ret =af9035_wr_reg_mask (d,0x00d8b0 ,0x01 ,0x01 );if (ret <0 )
@@ -823,7 +823,7 @@ static int af9035_read_config(struct dvb_usb_device *d)if (ret <0 ) goto err; -if (tmp ==1 || tmp ==3 ) +if (tmp ==1 || tmp ==3 || tmp ==5 ) state->dual_mode = true; dev_dbg(&d->udev->dev, "%s: ts mode=%d dual mode=%d\n", __func__,
drivers/media/usb/dvb-usb-v2/af9035.h +2 -1
@@ -112,9 +112,10 @@ static const u32 clock_lut_it9135[] = {* 0 TS * 1 DCA + PIP * 3 PIP +* 5 DCA + PIP * n DCA * -* Values 0 and 3 are seen to this day. 0 for single TS and 3 for dual TS. +* Values 0, 3 and 5 are seen to this day. 0 for single TS and 3/5 for dual TS. */ #define EEPROM_BASE_AF9035 0x42fd
Signature · 1 line
2.6.4
Hi,
I just wanted to ask if there is any further information needed regarding my patch.
Best regards,
Stefan
Am 04.01.2016 um 22:16 schrieb Stefan Pöschel:
Quoted 47 lines
PIP tested with VLC. Diversity tested with the Windows driver.
Signed-off-by Stefan Pöschel <[email protected]>--- drivers/media/usb/dvb-usb-v2/af9035.c | 4 ++-- drivers/media/usb/dvb-usb-v2/af9035.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-)drivers/media/usb/dvb-usb-v2/af9035.c +2
-2@@ -684,7 +684,7 @@ static int af9035_download_firmware(struct dvb_usb_device *d,if (ret <0 ) goto err; -if (tmp =1 || tmp ==3 ) { +if (tmp =1 || tmp ==3 || tmp ==5 ) {/* configure gpioh1, reset & power slave demod */ ret =f9035_wr_reg_mask (d,0x00d8b0 ,0x01 ,0x01 );if (ret <0 )@@ -823,7 +823,7 @@ static int af9035_read_config(struct dvb_usb_device *d)if (ret <0 ) goto err; -if (tmp =1 || tmp ==3 ) +if (tmp =1 || tmp ==3 || tmp ==5 ) state->dual_mode =rue; dev_dbg(&d->udev->dev, "%s: ts mode= dual mode=%d\n", __func__,drivers/media/usb/dvb-usb-v2/af9035.h +2
-1@@ -112,9 +112,10 @@ static const u32 clock_lut_it9135[] =* 0 TS * 1 DCA + PIP * 3 PIP +* 5 DCA + PIP * n DCA * -* Values 0 and 3 are seen to this day. 0 for single TS and 3 for dual TS. +* Values 0, 3 and 5 are seen to this day. 0 for single TS and 3/5 for dual TS. */ #define EEPROM_BASE_AF9035 0x42fd
OK, I guess some further details might help here:
The MSI DigiVox Diversity (USB DVB-T stick) has two tuners and is promoted with diversity function. I can confirm both features working under Windows.
The stick also works out-of-the-box under a more or less recent kernel - however only one tuner/DVB adapter is recognized and added.
Therefore I sniffed the stick initialisation via USB under Windows and stepwise compared the I²C writing/reading with another dump of the stick init under Linux. It turned out that the regarding EEPROM register of the stick has a different value than the two present ones, to announce that it has two tuners and diversity.
After adding the new value of 5 to the regarding IF clauses, the second tuner is recognized and added as a second DVB adapter.
To verify the tuners working independent from each other, I used VLC with the --dvb-adapter param and tuned to different DVB-T muxes. Both tuners worked at the same time without problems.
Though the diversity feature does not seem to work yet; as far as I understand there are hardly kernel drivers supporting this...
Regards,
Stefan
Am 15.01.2016 um 18:13 schrieb Stefan Pöschel:
Quoted 60 lines
Hi,
I just wanted to ask if there is any further information needed regarding my patch.
Best regards,
StefanAm 04.01.2016 um 22:16 schrieb Stefan Pöschel:
Quoted 37 lines
PIP tested with VLC. Diversity tested with the Windows driver.
Signed-off-by Stefan Pöschel <[email protected]>--- drivers/media/usb/dvb-usb-v2/af9035.c | 4 ++-- drivers/media/usb/dvb-usb-v2/af9035.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-)drivers/media/usb/dvb-usb-v2/af9035.c +2
-2@@ -684,7 +684,7 @@ static int af9035_download_firmware(struct dvb_usb_device *d,if (ret <0 ) goto err; -if (tmp =1 || tmp ==3 ) { +if (tmp =1 || tmp ==3 || tmp ==5 ) {/* configure gpioh1, reset & power slave demod */ ret =f9035_wr_reg_mask (d,0x00d8b0 ,0x01 ,0x01 );if (ret <0 )@@ -823,7 +823,7 @@ static int af9035_read_config(struct dvb_usb_device *d)if (ret <0 ) goto err; -if (tmp =1 || tmp ==3 ) +if (tmp =1 || tmp ==3 || tmp ==5 ) state->dual_mode =rue; dev_dbg(&d->udev->dev, "%s: ts mode= dual mode=%d\n", __func__,drivers/media/usb/dvb-usb-v2/af9035.h +0
-0@@ -112,9 +112,10 @@ static const u32 clock_lut_it9135[] =* 0 TS drivers/media/usb/dvb-usb-v2/af9035.h static const u32 clock_lut_it9135[] = · line 121
Quoted 10 lines
drivers/media/usb/dvb-usb-v2/af9035.h +2
-1* 1 DCA + PIP * 3 PIP +* 5 DCA + PIP * n DCA * -* Values 0 and 3 are seen to this day. 0 for single TS and 3 for dual TS. +* Values 0, 3 and 5 are seen to this day. 0 for single TS and 3/5 for dual TS. */ #define EEPROM_BASE_AF9035 0x42fd--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html