Skip to contentSkip to conversation

V4L/DVB: Add sleep for firmware ready

PATCH In review Mauro Carvalho Chehab 3 participants 5 messages Sep 23, 2014 – Sep 24, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 4/4 V4L/DVB: Add sleep for firmware ready

Antti,

After the firmware load changes, is this patch still applicable?

Regards,
Mauro

Forwarded message:

Date: Tue, 05 Aug 2014 13:48:03 +0800
From: Bimow Chen <[email protected]>
To: [email protected]
Subject: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

Quoted 1 line

From b19fa868ce937a6ef10f1591a49b2a7ad14964a9 Mon Sep 17 00:00:00 2001

From: Bimow Chen <[email protected]>
Date: Tue, 5 Aug 2014 11:20:53 +0800
Subject: [PATCH 4/4] Add sleep for firmware ready.

---
 drivers/media/usb/dvb-usb-v2/af9035.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/media/usb/dvb-usb-v2/af9035.c +2 -0
index 7b9b75f..a450cdb 100644
@@ -602,6 +602,8 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
 	if (ret < 0)
 		goto err;
 
+	msleep(30);
+
 	/* firmware loaded, request boot */
 	req.cmd = CMD_FW_BOOT;
 	ret = af9035_ctrl_msg(d, &req);
Signature · 1 line
1.7.0.4
#1 lore raw

I am not sure as I cannot reproduce it. Also 30ms wait here is long as hell, whilst it is not critical.

When I look that firmware downloading from the 1-2 month old Hauppauge driver sniffs, it is not there:

That line is CMD_FW_BOOT, command 0x23 it is 3rd number:
#define CMD_FW_BOOT 0x23
000313: OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc

Here is whole sequence:

000311:  OUT: 000000 ms 001489 ms BULK[00002] >>> 15 00 29 99 03 01 00 01 57 f7 09 02 6d 6c 02 4f 9f 02 4f a2 0b 16
000312:  OUT: 000001 ms 001489 ms BULK[00081] <<< 04 99 00 66 ff
000313:  OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc
000314:  OUT: 000011 ms 001490 ms BULK[00081] <<< 04 9a 00 65 ff
000315:  OUT: 000000 ms 001501 ms BULK[00002] >>> 0b 00 00 9b 01 02 00 00 12 22 40 ec
000316:  OUT: 000000 ms 001501 ms BULK[00081] <<< 05 9b 00 02 62 ff

So windows driver waits 10ms after boot, not before.

Due to these reasons, I would like to skip that patch until I see error or get good explanation why it is needed and so.

regards
Antti

Quoted 40 lines · Mauro Carvalho Chehab

Antti,

After the firmware load changes, is this patch still applicable?

Regards,
Mauro

Forwarded message:

Date: Tue, 05 Aug 2014 13:48:03 +0800
From: Bimow Chen <[email protected]>
To: [email protected]
Subject: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

From b19fa868ce937a6ef10f1591a49b2a7ad14964a9 Mon Sep 17 00:00:00 2001
From: Bimow Chen <[email protected]>
Date: Tue, 5 Aug 2014 11:20:53 +0800
Subject: [PATCH 4/4] Add sleep for firmware ready.

---
  drivers/media/usb/dvb-usb-v2/af9035.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
drivers/media/usb/dvb-usb-v2/af9035.c +2 -0
index 7b9b75f..a450cdb 100644
@@ -602,6 +602,8 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
  	if (ret < 0)
  		goto err;
 
+	msleep(30);
+
  	/* firmware loaded, request boot */
  	req.cmd = CMD_FW_BOOT;
  	ret = af9035_ctrl_msg(d, &req);
Signature · 1 line
http://palosaari.fi/
#2 lore raw

Em Tue, 23 Sep 2014 15:00:48 +0300
Antti Palosaari <[email protected]> escreveu:

Quoted 17 lines

I am not sure as I cannot reproduce it. Also 30ms wait here is long as hell, whilst it is not critical.

When I look that firmware downloading from the 1-2 month old Hauppauge driver sniffs, it is not there:

That line is CMD_FW_BOOT, command 0x23 it is 3rd number:
#define CMD_FW_BOOT 0x23
000313: OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc

Here is whole sequence:
000311: OUT: 000000 ms 001489 ms BULK[00002] >>> 15 00 29 99 03 01 00 01 57 f7 09 02 6d 6c 02 4f 9f 02 4f a2 0b 16

000312:  OUT: 000001 ms 001489 ms BULK[00081] <<< 04 99 00 66 ff
000313:  OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc
000314:  OUT: 000011 ms 001490 ms BULK[00081] <<< 04 9a 00 65 ff
000315:  OUT: 000000 ms 001501 ms BULK[00002] >>> 0b 00 00 9b 01 02 00 
Quoted 8 lines

00 12 22 40 ec
000316: OUT: 000000 ms 001501 ms BULK[00081] <<< 05 9b 00 02 62 ff

So windows driver waits 10ms after boot, not before.

Due to these reasons, I would like to skip that patch until I see error or get good explanation why it is needed and so.

Ok. I'll tag it as RFC then.

Quoted 48 lines

regards
Antti

Quoted 40 lines · Mauro Carvalho Chehab

Antti,

After the firmware load changes, is this patch still applicable?

Regards,
Mauro

Forwarded message:

Date: Tue, 05 Aug 2014 13:48:03 +0800
From: Bimow Chen <[email protected]>
To: [email protected]
Subject: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

From b19fa868ce937a6ef10f1591a49b2a7ad14964a9 Mon Sep 17 00:00:00 2001
From: Bimow Chen <[email protected]>
Date: Tue, 5 Aug 2014 11:20:53 +0800
Subject: [PATCH 4/4] Add sleep for firmware ready.

---
  drivers/media/usb/dvb-usb-v2/af9035.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
drivers/media/usb/dvb-usb-v2/af9035.c +2 -0
index 7b9b75f..a450cdb 100644
@@ -602,6 +602,8 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
  	if (ret < 0)
  		goto err;
 
+	msleep(30);
+
  	/* firmware loaded, request boot */
  	req.cmd = CMD_FW_BOOT;
  	ret = af9035_ctrl_msg(d, &req);
#3 lore raw

Hi all,

It's my mistake. Sleep after boot for firmware ready, not before. Please reject this patch.
Thank you.

Best regards,
Bimow
-----Original Message-----
From: Mauro Carvalho Chehab [mailto:[email protected]]
Sent: Tuesday, September 23, 2014 9:11 PM
To: Antti Palosaari
Cc: [email protected]; Bimow Chen (陳心懋)
Subject: Re: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

Em Tue, 23 Sep 2014 15:00:48 +0300
Antti Palosaari <[email protected]> escreveu:

Quoted 17 lines

I am not sure as I cannot reproduce it. Also 30ms wait here is long as hell, whilst it is not critical.

When I look that firmware downloading from the 1-2 month old Hauppauge driver sniffs, it is not there:

That line is CMD_FW_BOOT, command 0x23 it is 3rd number:
#define CMD_FW_BOOT 0x23
000313: OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc

Here is whole sequence:
000311: OUT: 000000 ms 001489 ms BULK[00002] >>> 15 00 29 99 03 01 00 01 57 f7 09 02 6d 6c 02 4f 9f 02 4f a2 0b 16

000312:  OUT: 000001 ms 001489 ms BULK[00081] <<< 04 99 00 66 ff
000313:  OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc
000314:  OUT: 000011 ms 001490 ms BULK[00081] <<< 04 9a 00 65 ff
000315:  OUT: 000000 ms 001501 ms BULK[00002] >>> 0b 00 00 9b 01 02 00
Quoted 8 lines

00 12 22 40 ec
000316: OUT: 000000 ms 001501 ms BULK[00081] <<< 05 9b 00 02 62 ff

So windows driver waits 10ms after boot, not before.

Due to these reasons, I would like to skip that patch until I see error or get good explanation why it is needed and so.

Ok. I'll tag it as RFC then.

Quoted 50 lines

regards
Antti

Quoted 42 lines · Mauro Carvalho Chehab

Antti,

After the firmware load changes, is this patch still applicable?

Regards,
Mauro

Forwarded message:

Date: Tue, 05 Aug 2014 13:48:03 +0800
From: Bimow Chen <[email protected]>
To: [email protected]
Subject: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

From b19fa868ce937a6ef10f1591a49b2a7ad14964a9 Mon Sep 17 00:00:00
2001
From: Bimow Chen <[email protected]>
Date: Tue, 5 Aug 2014 11:20:53 +0800
Subject: [PATCH 4/4] Add sleep for firmware ready.

---
  drivers/media/usb/dvb-usb-v2/af9035.c |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
drivers/media/usb/dvb-usb-v2/af9035.c +2 -0
index 7b9b75f..a450cdb 100644
@@ -602,6 +602,8 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
  	if (ret < 0)
  		goto err;
 
+	msleep(30);
+
  	/* firmware loaded, request boot */
  	req.cmd = CMD_FW_BOOT;
  	ret = af9035_ctrl_msg(d, &req);
#4 lore raw

After looking it again, the 10ms delay seen in sniff is between boot request and reply. Looks like it took 10ms from chip to reply boot command. But there is no any other delays before nor after booth command. If some small extra delay is really needed for Linux, but not Windows, it indicates linux USB stack or driver is more optimal having less delays.

regards
Antti

Quoted 96 lines · On 09/24/2014 06:47 AM, [email protected] wrote:

Hi all,

It's my mistake. Sleep after boot for firmware ready, not before. Please reject this patch.
Thank you.

Best regards,
Bimow
-----Original Message-----
From: Mauro Carvalho Chehab [mailto:[email protected]]
Sent: Tuesday, September 23, 2014 9:11 PM
To: Antti Palosaari
Cc: [email protected]; Bimow Chen (陳心懋)
Subject: Re: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

Em Tue, 23 Sep 2014 15:00:48 +0300
Antti Palosaari <[email protected]> escreveu:

Quoted 17 lines

I am not sure as I cannot reproduce it. Also 30ms wait here is long as hell, whilst it is not critical.

When I look that firmware downloading from the 1-2 month old Hauppauge driver sniffs, it is not there:

That line is CMD_FW_BOOT, command 0x23 it is 3rd number:
#define CMD_FW_BOOT 0x23
000313: OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc

Here is whole sequence:
000311: OUT: 000000 ms 001489 ms BULK[00002] >>> 15 00 29 99 03 01 00 01 57 f7 09 02 6d 6c 02 4f 9f 02 4f a2 0b 16

000312:  OUT: 000001 ms 001489 ms BULK[00081] <<< 04 99 00 66 ff
000313:  OUT: 000000 ms 001490 ms BULK[00002] >>> 05 00 23 9a 65 dc
000314:  OUT: 000011 ms 001490 ms BULK[00081] <<< 04 9a 00 65 ff
000315:  OUT: 000000 ms 001501 ms BULK[00002] >>> 0b 00 00 9b 01 02 00
Quoted 8 lines

00 12 22 40 ec
000316: OUT: 000000 ms 001501 ms BULK[00081] <<< 05 9b 00 02 62 ff

So windows driver waits 10ms after boot, not before.

Due to these reasons, I would like to skip that patch until I see error or get good explanation why it is needed and so.

Ok. I'll tag it as RFC then.

Quoted 50 lines

regards
Antti

Quoted 42 lines · Mauro Carvalho Chehab

Antti,

After the firmware load changes, is this patch still applicable?

Regards,
Mauro

Forwarded message:

Date: Tue, 05 Aug 2014 13:48:03 +0800
From: Bimow Chen <[email protected]>
To: [email protected]
Subject: [PATCH 4/4] V4L/DVB: Add sleep for firmware ready

From b19fa868ce937a6ef10f1591a49b2a7ad14964a9 Mon Sep 17 00:00:00
2001
From: Bimow Chen <[email protected]>
Date: Tue, 5 Aug 2014 11:20:53 +0800
Subject: [PATCH 4/4] Add sleep for firmware ready.

---
   drivers/media/usb/dvb-usb-v2/af9035.c |    2 ++
   1 files changed, 2 insertions(+), 0 deletions(-)
drivers/media/usb/dvb-usb-v2/af9035.c +2 -0
index 7b9b75f..a450cdb 100644
@@ -602,6 +602,8 @@ static int af9035_download_firmware(struct dvb_usb_device *d,
   	if (ret < 0)
   		goto err;
 
+	msleep(30);
+
   	/* firmware loaded, request boot */
   	req.cmd = CMD_FW_BOOT;
   	ret = af9035_ctrl_msg(d, &req);
Signature · 1 line
http://palosaari.fi/