All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is continuous
@ 2020-11-10  9:15 ` Sean Young
  0 siblings, 0 replies; 10+ messages in thread
From: Sean Young @ 2020-11-10  9:15 UTC (permalink / raw)
  To: linux-media, Chen-Yu Tsai, Maxime Ripard, linux-arm-kernel
  Cc: stable, Hans Verkuil

If a user holds a button down on a remote, then no ir idle interrupt will
be generated until the user releases the button, depending on how quickly
the remote repeats. No IR is processed until that point, which means that
holding down a button may not do anything.

This also resolves an issue on a Cubieboard 1 where the IR receiver is
picking up ambient infrared as IR and spews out endless
"rc rc0: IR event FIFO is full!" messages unless you choose to live in
the dark.

Cc: stable@vger.kernel.org
Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Sean Young <sean@mess.org>
---
 drivers/media/rc/sunxi-cir.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
index ddee6ee37bab1..4afc5895bee74 100644
--- a/drivers/media/rc/sunxi-cir.c
+++ b/drivers/media/rc/sunxi-cir.c
@@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
 	} else if (status & REG_RXSTA_RPE) {
 		ir_raw_event_set_idle(ir->rc, true);
 		ir_raw_event_handle(ir->rc);
+	} else {
+		ir_raw_event_handle(ir->rc);
 	}
 
 	spin_unlock(&ir->ir_lock);
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is continuous
@ 2020-11-10  9:15 ` Sean Young
  0 siblings, 0 replies; 10+ messages in thread
From: Sean Young @ 2020-11-10  9:15 UTC (permalink / raw)
  To: linux-media, Chen-Yu Tsai, Maxime Ripard, linux-arm-kernel
  Cc: Hans Verkuil, stable

If a user holds a button down on a remote, then no ir idle interrupt will
be generated until the user releases the button, depending on how quickly
the remote repeats. No IR is processed until that point, which means that
holding down a button may not do anything.

This also resolves an issue on a Cubieboard 1 where the IR receiver is
picking up ambient infrared as IR and spews out endless
"rc rc0: IR event FIFO is full!" messages unless you choose to live in
the dark.

Cc: stable@vger.kernel.org
Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Sean Young <sean@mess.org>
---
 drivers/media/rc/sunxi-cir.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
index ddee6ee37bab1..4afc5895bee74 100644
--- a/drivers/media/rc/sunxi-cir.c
+++ b/drivers/media/rc/sunxi-cir.c
@@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
 	} else if (status & REG_RXSTA_RPE) {
 		ir_raw_event_set_idle(ir->rc, true);
 		ir_raw_event_handle(ir->rc);
+	} else {
+		ir_raw_event_handle(ir->rc);
 	}
 
 	spin_unlock(&ir->ir_lock);
-- 
2.28.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime
  2020-11-10  9:15 ` Sean Young
@ 2020-11-10  9:15   ` Sean Young
  -1 siblings, 0 replies; 10+ messages in thread
From: Sean Young @ 2020-11-10  9:15 UTC (permalink / raw)
  To: linux-media, Chen-Yu Tsai, Maxime Ripard, linux-arm-kernel

This allows the timeout to be set with the LIRC_SET_REC_TIMEOUT ioctl.

The timeout was hardcoded at just over 20ms, but returned 120ms when
queried with the LIRC_GET_REC_TIMEOUT ioctl.

This also ensures the idle threshold is set correctly with a base clock
other than 8000000Mhz.

Signed-off-by: Sean Young <sean@mess.org>
---
 drivers/media/rc/sunxi-cir.c | 46 +++++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 8 deletions(-)

diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
index 4afc5895bee74..3c25db25e55c6 100644
--- a/drivers/media/rc/sunxi-cir.c
+++ b/drivers/media/rc/sunxi-cir.c
@@ -73,10 +73,6 @@
 #define SUNXI_IR_BASE_CLK     8000000
 /* Noise threshold in samples  */
 #define SUNXI_IR_RXNOISE      1
-/* Idle Threshold in samples */
-#define SUNXI_IR_RXIDLE       20
-/* Time after which device stops sending data in ms */
-#define SUNXI_IR_TIMEOUT      120
 
 /**
  * struct sunxi_ir_quirks - Differences between SoC variants.
@@ -146,6 +142,39 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
 	return IRQ_HANDLED;
 }
 
+/* Convert idle threshold to usec */
+static unsigned int sunxi_ithr_to_usec(unsigned int base_clk, unsigned int ithr)
+{
+	return (USEC_PER_SEC * (ithr + 1)) / (base_clk / (128 * 64));
+}
+
+/* Convert usec to idle threshold */
+static unsigned int sunxi_usec_to_ithr(unsigned int base_clk, unsigned int usec)
+{
+	return ((base_clk / (128 * 64)) * usec) / USEC_PER_SEC;
+}
+
+static int sunxi_ir_set_timeout(struct rc_dev *rc_dev, unsigned int timeout)
+{
+	struct sunxi_ir *ir = rc_dev->priv;
+	unsigned int base_clk = clk_get_rate(ir->clk);
+	unsigned long flags;
+
+	unsigned int ithr = sunxi_usec_to_ithr(base_clk, timeout);
+
+	dev_dbg(rc_dev->dev.parent, "setting idle threshold to %u\n", ithr);
+
+	spin_lock_irqsave(&ir->ir_lock, flags);
+	/* Set noise threshold and idle threshold */
+	writel(REG_CIR_NTHR(SUNXI_IR_RXNOISE) | REG_CIR_ITHR(ithr),
+	       ir->base + SUNXI_IR_CIR_REG);
+	spin_unlock_irqrestore(&ir->ir_lock, flags);
+
+	rc_dev->timeout = sunxi_ithr_to_usec(base_clk, ithr);
+
+	return 0;
+}
+
 static int sunxi_ir_probe(struct platform_device *pdev)
 {
 	int ret = 0;
@@ -242,9 +271,11 @@ static int sunxi_ir_probe(struct platform_device *pdev)
 	ir->rc->map_name = ir->map_name ?: RC_MAP_EMPTY;
 	ir->rc->dev.parent = dev;
 	ir->rc->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
-	/* Frequency after IR internal divider with sample period in ns */
+	/* Frequency after IR internal divider with sample period in us */
 	ir->rc->rx_resolution = (USEC_PER_SEC / (b_clk_freq / 64));
-	ir->rc->timeout = MS_TO_US(SUNXI_IR_TIMEOUT);
+	ir->rc->min_timeout = sunxi_ithr_to_usec(b_clk_freq, 0);
+	ir->rc->max_timeout = sunxi_ithr_to_usec(b_clk_freq, 255);
+	ir->rc->s_timeout = sunxi_ir_set_timeout;
 	ir->rc->driver_name = SUNXI_IR_DEV;
 
 	ret = rc_register_device(ir->rc);
@@ -272,8 +303,7 @@ static int sunxi_ir_probe(struct platform_device *pdev)
 	writel(REG_CTL_MD, ir->base+SUNXI_IR_CTL_REG);
 
 	/* Set noise threshold and idle threshold */
-	writel(REG_CIR_NTHR(SUNXI_IR_RXNOISE)|REG_CIR_ITHR(SUNXI_IR_RXIDLE),
-	       ir->base + SUNXI_IR_CIR_REG);
+	sunxi_ir_set_timeout(ir->rc, IR_DEFAULT_TIMEOUT);
 
 	/* Invert Input Signal */
 	writel(REG_RXCTL_RPPI, ir->base + SUNXI_IR_RXCTL_REG);
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime
@ 2020-11-10  9:15   ` Sean Young
  0 siblings, 0 replies; 10+ messages in thread
From: Sean Young @ 2020-11-10  9:15 UTC (permalink / raw)
  To: linux-media, Chen-Yu Tsai, Maxime Ripard, linux-arm-kernel

This allows the timeout to be set with the LIRC_SET_REC_TIMEOUT ioctl.

The timeout was hardcoded at just over 20ms, but returned 120ms when
queried with the LIRC_GET_REC_TIMEOUT ioctl.

This also ensures the idle threshold is set correctly with a base clock
other than 8000000Mhz.

Signed-off-by: Sean Young <sean@mess.org>
---
 drivers/media/rc/sunxi-cir.c | 46 +++++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 8 deletions(-)

diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
index 4afc5895bee74..3c25db25e55c6 100644
--- a/drivers/media/rc/sunxi-cir.c
+++ b/drivers/media/rc/sunxi-cir.c
@@ -73,10 +73,6 @@
 #define SUNXI_IR_BASE_CLK     8000000
 /* Noise threshold in samples  */
 #define SUNXI_IR_RXNOISE      1
-/* Idle Threshold in samples */
-#define SUNXI_IR_RXIDLE       20
-/* Time after which device stops sending data in ms */
-#define SUNXI_IR_TIMEOUT      120
 
 /**
  * struct sunxi_ir_quirks - Differences between SoC variants.
@@ -146,6 +142,39 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
 	return IRQ_HANDLED;
 }
 
+/* Convert idle threshold to usec */
+static unsigned int sunxi_ithr_to_usec(unsigned int base_clk, unsigned int ithr)
+{
+	return (USEC_PER_SEC * (ithr + 1)) / (base_clk / (128 * 64));
+}
+
+/* Convert usec to idle threshold */
+static unsigned int sunxi_usec_to_ithr(unsigned int base_clk, unsigned int usec)
+{
+	return ((base_clk / (128 * 64)) * usec) / USEC_PER_SEC;
+}
+
+static int sunxi_ir_set_timeout(struct rc_dev *rc_dev, unsigned int timeout)
+{
+	struct sunxi_ir *ir = rc_dev->priv;
+	unsigned int base_clk = clk_get_rate(ir->clk);
+	unsigned long flags;
+
+	unsigned int ithr = sunxi_usec_to_ithr(base_clk, timeout);
+
+	dev_dbg(rc_dev->dev.parent, "setting idle threshold to %u\n", ithr);
+
+	spin_lock_irqsave(&ir->ir_lock, flags);
+	/* Set noise threshold and idle threshold */
+	writel(REG_CIR_NTHR(SUNXI_IR_RXNOISE) | REG_CIR_ITHR(ithr),
+	       ir->base + SUNXI_IR_CIR_REG);
+	spin_unlock_irqrestore(&ir->ir_lock, flags);
+
+	rc_dev->timeout = sunxi_ithr_to_usec(base_clk, ithr);
+
+	return 0;
+}
+
 static int sunxi_ir_probe(struct platform_device *pdev)
 {
 	int ret = 0;
@@ -242,9 +271,11 @@ static int sunxi_ir_probe(struct platform_device *pdev)
 	ir->rc->map_name = ir->map_name ?: RC_MAP_EMPTY;
 	ir->rc->dev.parent = dev;
 	ir->rc->allowed_protocols = RC_PROTO_BIT_ALL_IR_DECODER;
-	/* Frequency after IR internal divider with sample period in ns */
+	/* Frequency after IR internal divider with sample period in us */
 	ir->rc->rx_resolution = (USEC_PER_SEC / (b_clk_freq / 64));
-	ir->rc->timeout = MS_TO_US(SUNXI_IR_TIMEOUT);
+	ir->rc->min_timeout = sunxi_ithr_to_usec(b_clk_freq, 0);
+	ir->rc->max_timeout = sunxi_ithr_to_usec(b_clk_freq, 255);
+	ir->rc->s_timeout = sunxi_ir_set_timeout;
 	ir->rc->driver_name = SUNXI_IR_DEV;
 
 	ret = rc_register_device(ir->rc);
@@ -272,8 +303,7 @@ static int sunxi_ir_probe(struct platform_device *pdev)
 	writel(REG_CTL_MD, ir->base+SUNXI_IR_CTL_REG);
 
 	/* Set noise threshold and idle threshold */
-	writel(REG_CIR_NTHR(SUNXI_IR_RXNOISE)|REG_CIR_ITHR(SUNXI_IR_RXIDLE),
-	       ir->base + SUNXI_IR_CIR_REG);
+	sunxi_ir_set_timeout(ir->rc, IR_DEFAULT_TIMEOUT);
 
 	/* Invert Input Signal */
 	writel(REG_RXCTL_RPPI, ir->base + SUNXI_IR_RXCTL_REG);
-- 
2.28.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime
  2020-11-10  9:15   ` Sean Young
@ 2020-11-10 12:11     ` maxime
  -1 siblings, 0 replies; 10+ messages in thread
From: maxime @ 2020-11-10 12:11 UTC (permalink / raw)
  To: Sean Young; +Cc: linux-media, Chen-Yu Tsai, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

On Tue, Nov 10, 2020 at 09:15:57AM +0000, Sean Young wrote:
> This allows the timeout to be set with the LIRC_SET_REC_TIMEOUT ioctl.
> 
> The timeout was hardcoded at just over 20ms, but returned 120ms when
> queried with the LIRC_GET_REC_TIMEOUT ioctl.
> 
> This also ensures the idle threshold is set correctly with a base clock
> other than 8000000Mhz.

That's some pretty hardcore overclocking :)

I guess you meant 8MHz?

Other than that, for both patches

Acked-by: Maxime Ripard <mripard@kernel.org>

Thanks!
Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime
@ 2020-11-10 12:11     ` maxime
  0 siblings, 0 replies; 10+ messages in thread
From: maxime @ 2020-11-10 12:11 UTC (permalink / raw)
  To: Sean Young; +Cc: Chen-Yu Tsai, linux-arm-kernel, linux-media


[-- Attachment #1.1: Type: text/plain, Size: 542 bytes --]

On Tue, Nov 10, 2020 at 09:15:57AM +0000, Sean Young wrote:
> This allows the timeout to be set with the LIRC_SET_REC_TIMEOUT ioctl.
> 
> The timeout was hardcoded at just over 20ms, but returned 120ms when
> queried with the LIRC_GET_REC_TIMEOUT ioctl.
> 
> This also ensures the idle threshold is set correctly with a base clock
> other than 8000000Mhz.

That's some pretty hardcore overclocking :)

I guess you meant 8MHz?

Other than that, for both patches

Acked-by: Maxime Ripard <mripard@kernel.org>

Thanks!
Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is continuous
  2020-11-10  9:15 ` Sean Young
@ 2020-11-12 12:31   ` Hans Verkuil
  -1 siblings, 0 replies; 10+ messages in thread
From: Hans Verkuil @ 2020-11-12 12:31 UTC (permalink / raw)
  To: Sean Young, linux-media, Chen-Yu Tsai, Maxime Ripard, linux-arm-kernel
  Cc: stable

On 10/11/2020 10:15, Sean Young wrote:
> If a user holds a button down on a remote, then no ir idle interrupt will
> be generated until the user releases the button, depending on how quickly
> the remote repeats. No IR is processed until that point, which means that
> holding down a button may not do anything.
> 
> This also resolves an issue on a Cubieboard 1 where the IR receiver is
> picking up ambient infrared as IR and spews out endless
> "rc rc0: IR event FIFO is full!" messages unless you choose to live in
> the dark.
> 
> Cc: stable@vger.kernel.org
> Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
> Signed-off-by: Sean Young <sean@mess.org>

Tested-by: Hans Verkuil <hverkuil@xs4all.nl>

Nice! No more spam in the kernel log for my Cubieboard 1!

Thank you,

	Hans

> ---
>  drivers/media/rc/sunxi-cir.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
> index ddee6ee37bab1..4afc5895bee74 100644
> --- a/drivers/media/rc/sunxi-cir.c
> +++ b/drivers/media/rc/sunxi-cir.c
> @@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
>  	} else if (status & REG_RXSTA_RPE) {
>  		ir_raw_event_set_idle(ir->rc, true);
>  		ir_raw_event_handle(ir->rc);
> +	} else {
> +		ir_raw_event_handle(ir->rc);
>  	}
>  
>  	spin_unlock(&ir->ir_lock);
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is continuous
@ 2020-11-12 12:31   ` Hans Verkuil
  0 siblings, 0 replies; 10+ messages in thread
From: Hans Verkuil @ 2020-11-12 12:31 UTC (permalink / raw)
  To: Sean Young, linux-media, Chen-Yu Tsai, Maxime Ripard, linux-arm-kernel
  Cc: stable

On 10/11/2020 10:15, Sean Young wrote:
> If a user holds a button down on a remote, then no ir idle interrupt will
> be generated until the user releases the button, depending on how quickly
> the remote repeats. No IR is processed until that point, which means that
> holding down a button may not do anything.
> 
> This also resolves an issue on a Cubieboard 1 where the IR receiver is
> picking up ambient infrared as IR and spews out endless
> "rc rc0: IR event FIFO is full!" messages unless you choose to live in
> the dark.
> 
> Cc: stable@vger.kernel.org
> Reported-by: Hans Verkuil <hverkuil@xs4all.nl>
> Signed-off-by: Sean Young <sean@mess.org>

Tested-by: Hans Verkuil <hverkuil@xs4all.nl>

Nice! No more spam in the kernel log for my Cubieboard 1!

Thank you,

	Hans

> ---
>  drivers/media/rc/sunxi-cir.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
> index ddee6ee37bab1..4afc5895bee74 100644
> --- a/drivers/media/rc/sunxi-cir.c
> +++ b/drivers/media/rc/sunxi-cir.c
> @@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
>  	} else if (status & REG_RXSTA_RPE) {
>  		ir_raw_event_set_idle(ir->rc, true);
>  		ir_raw_event_handle(ir->rc);
> +	} else {
> +		ir_raw_event_handle(ir->rc);
>  	}
>  
>  	spin_unlock(&ir->ir_lock);
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime
  2020-11-10 12:11     ` maxime
@ 2020-11-13 15:36       ` Sean Young
  -1 siblings, 0 replies; 10+ messages in thread
From: Sean Young @ 2020-11-13 15:36 UTC (permalink / raw)
  To: maxime; +Cc: linux-media, Chen-Yu Tsai, linux-arm-kernel

On Tue, Nov 10, 2020 at 01:11:22PM +0100, maxime@cerno.tech wrote:
> On Tue, Nov 10, 2020 at 09:15:57AM +0000, Sean Young wrote:
> > This allows the timeout to be set with the LIRC_SET_REC_TIMEOUT ioctl.
> > 
> > The timeout was hardcoded at just over 20ms, but returned 120ms when
> > queried with the LIRC_GET_REC_TIMEOUT ioctl.
> > 
> > This also ensures the idle threshold is set correctly with a base clock
> > other than 8000000Mhz.
> 
> That's some pretty hardcore overclocking :)
> 
> I guess you meant 8MHz?

Yes, I did.

> Other than that, for both patches
> 
> Acked-by: Maxime Ripard <mripard@kernel.org>

Thanks!

Sean

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime
@ 2020-11-13 15:36       ` Sean Young
  0 siblings, 0 replies; 10+ messages in thread
From: Sean Young @ 2020-11-13 15:36 UTC (permalink / raw)
  To: maxime; +Cc: Chen-Yu Tsai, linux-arm-kernel, linux-media

On Tue, Nov 10, 2020 at 01:11:22PM +0100, maxime@cerno.tech wrote:
> On Tue, Nov 10, 2020 at 09:15:57AM +0000, Sean Young wrote:
> > This allows the timeout to be set with the LIRC_SET_REC_TIMEOUT ioctl.
> > 
> > The timeout was hardcoded at just over 20ms, but returned 120ms when
> > queried with the LIRC_GET_REC_TIMEOUT ioctl.
> > 
> > This also ensures the idle threshold is set correctly with a base clock
> > other than 8000000Mhz.
> 
> That's some pretty hardcore overclocking :)
> 
> I guess you meant 8MHz?

Yes, I did.

> Other than that, for both patches
> 
> Acked-by: Maxime Ripard <mripard@kernel.org>

Thanks!

Sean

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-11-13 15:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-10  9:15 [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is continuous Sean Young
2020-11-10  9:15 ` Sean Young
2020-11-10  9:15 ` [PATCH 2/2] media: sunxi-cir: allow timeout to be set at runtime Sean Young
2020-11-10  9:15   ` Sean Young
2020-11-10 12:11   ` maxime
2020-11-10 12:11     ` maxime
2020-11-13 15:36     ` Sean Young
2020-11-13 15:36       ` Sean Young
2020-11-12 12:31 ` [PATCH 1/2] media: sunxi-cir: ensure IR is handled when it is continuous Hans Verkuil
2020-11-12 12:31   ` Hans Verkuil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.