linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).