* [PATCH 0/2] Keene delay
@ 2013-06-02 23:41 Antti Palosaari
2013-06-02 23:41 ` [PATCH 1/2] Keene Antti Palosaari
2013-06-02 23:41 ` [PATCH 2/2] keene: add delay in order to settle hardware Antti Palosaari
0 siblings, 2 replies; 3+ messages in thread
From: Antti Palosaari @ 2013-06-02 23:41 UTC (permalink / raw)
To: linux-media; +Cc: Hans Verkuil, Antti Palosaari
Hans, here you are!
Antti Palosaari (1):
keene: add delay in order to settle hardware
Hans Verkuil (1):
Keene
drivers/media/radio/radio-keene.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] Keene
2013-06-02 23:41 [PATCH 0/2] Keene delay Antti Palosaari
@ 2013-06-02 23:41 ` Antti Palosaari
2013-06-02 23:41 ` [PATCH 2/2] keene: add delay in order to settle hardware Antti Palosaari
1 sibling, 0 replies; 3+ messages in thread
From: Antti Palosaari @ 2013-06-02 23:41 UTC (permalink / raw)
To: linux-media; +Cc: Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl>
Can you try this patch:
---
drivers/media/radio/radio-keene.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/media/radio/radio-keene.c b/drivers/media/radio/radio-keene.c
index 4c9ae76..99da3d4 100644
--- a/drivers/media/radio/radio-keene.c
+++ b/drivers/media/radio/radio-keene.c
@@ -93,7 +93,7 @@ static int keene_cmd_main(struct keene_device *radio, unsigned freq, bool play)
/* If bit 4 is set, then tune to the frequency.
If bit 3 is set, then unmute; if bit 2 is set, then mute.
If bit 1 is set, then enter idle mode; if bit 0 is set,
- then enter transit mode.
+ then enter transmit mode.
*/
radio->buffer[5] = (radio->muted ? 4 : 8) | (play ? 1 : 2) |
(freq ? 0x10 : 0);
@@ -350,7 +350,6 @@ static int usb_keene_probe(struct usb_interface *intf,
radio->pa = 118;
radio->tx = 0x32;
radio->stereo = true;
- radio->curfreq = 95.16 * FREQ_MUL;
if (hdl->error) {
retval = hdl->error;
@@ -383,6 +382,8 @@ static int usb_keene_probe(struct usb_interface *intf,
video_set_drvdata(&radio->vdev, radio);
set_bit(V4L2_FL_USE_FH_PRIO, &radio->vdev.flags);
+ keene_cmd_main(radio, 95.16 * FREQ_MUL, false);
+
retval = video_register_device(&radio->vdev, VFL_TYPE_RADIO, -1);
if (retval < 0) {
dev_err(&intf->dev, "could not register video device\n");
--
1.7.11.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] keene: add delay in order to settle hardware
2013-06-02 23:41 [PATCH 0/2] Keene delay Antti Palosaari
2013-06-02 23:41 ` [PATCH 1/2] Keene Antti Palosaari
@ 2013-06-02 23:41 ` Antti Palosaari
1 sibling, 0 replies; 3+ messages in thread
From: Antti Palosaari @ 2013-06-02 23:41 UTC (permalink / raw)
To: linux-media; +Cc: Hans Verkuil, Antti Palosaari
It was found by trial and error testing that at least 11 ms delay is
needed before first I/O, otherwise device will skip given command.
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
drivers/media/radio/radio-keene.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/media/radio/radio-keene.c b/drivers/media/radio/radio-keene.c
index 99da3d4..21db23b 100644
--- a/drivers/media/radio/radio-keene.c
+++ b/drivers/media/radio/radio-keene.c
@@ -382,6 +382,8 @@ static int usb_keene_probe(struct usb_interface *intf,
video_set_drvdata(&radio->vdev, radio);
set_bit(V4L2_FL_USE_FH_PRIO, &radio->vdev.flags);
+ /* at least 11ms is needed in order to settle hardware */
+ msleep(20);
keene_cmd_main(radio, 95.16 * FREQ_MUL, false);
retval = video_register_device(&radio->vdev, VFL_TYPE_RADIO, -1);
--
1.7.11.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-06-02 23:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-02 23:41 [PATCH 0/2] Keene delay Antti Palosaari
2013-06-02 23:41 ` [PATCH 1/2] Keene Antti Palosaari
2013-06-02 23:41 ` [PATCH 2/2] keene: add delay in order to settle hardware Antti Palosaari
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).