Em 19-12-2010 21:10, Andy Walls escreveu:
> (Resending because Mauro reported losing some emails on IRC)
> 
> Provide CX2388[578] IR receive timeout (RTO) reports in the
> final space raw event sent up the chain to the raw IR pulse
> decoders. This should allow the lirc decoder to actually
> measure the inter-transmission gap properly.

Hi Andy,

I've no idea what's happened with this patch[1], but it seems that it
were never applied. Is this patch still valid?

[1] http://patchwork.linuxtv.org/patch/5133/

Thanks,
Mauro

> 
> Signed-off-by: Andy Walls <awa...@md.metrocast.net>
> ---
>  drivers/media/video/cx23885/cx23888-ir.c |   12 ++++++++----
>  drivers/media/video/cx25840/cx25840-ir.c |   12 ++++++++----
>  2 files changed, 16 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/media/video/cx23885/cx23888-ir.c 
> b/drivers/media/video/cx23885/cx23888-ir.c
> index e37be6f..bb1ce34 100644
> --- a/drivers/media/video/cx23885/cx23888-ir.c
> +++ b/drivers/media/video/cx23885/cx23888-ir.c
> @@ -673,7 +673,7 @@ static int cx23888_ir_rx_read(struct v4l2_subdev *sd, u8 
> *buf, size_t count,
>  
>       unsigned int i, n;
>       union cx23888_ir_fifo_rec *p;
> -     unsigned u, v;
> +     unsigned u, v, w;
>  
>       n = count / sizeof(union cx23888_ir_fifo_rec)
>               * sizeof(union cx23888_ir_fifo_rec);
> @@ -692,11 +692,12 @@ static int cx23888_ir_rx_read(struct v4l2_subdev *sd, 
> u8 *buf, size_t count,
>               if ((p->hw_fifo_data & FIFO_RXTX_RTO) == FIFO_RXTX_RTO) {
>                       /* Assume RTO was because of no IR light input */
>                       u = 0;
> -                     v4l2_dbg(2, ir_888_debug, sd, "rx read: end of rx\n");
> +                     w = 1;
>               } else {
>                       u = (p->hw_fifo_data & FIFO_RXTX_LVL) ? 1 : 0;
>                       if (invert)
>                               u = u ? 0 : 1;
> +                     w = 0;
>               }
>  
>               v = (unsigned) pulse_width_count_to_ns(
> @@ -707,9 +708,12 @@ static int cx23888_ir_rx_read(struct v4l2_subdev *sd, u8 
> *buf, size_t count,
>               init_ir_raw_event(&p->ir_core_data);
>               p->ir_core_data.pulse = u;
>               p->ir_core_data.duration = v;
> +             p->ir_core_data.timeout = w;
>  
> -             v4l2_dbg(2, ir_888_debug, sd, "rx read: %10u ns  %s\n",
> -                      v, u ? "mark" : "space");
> +             v4l2_dbg(2, ir_888_debug, sd, "rx read: %10u ns  %s  %s\n",
> +                      v, u ? "mark" : "space", w ? "(timed out)" : "");
> +             if (w)
> +                     v4l2_dbg(2, ir_888_debug, sd, "rx read: end of rx\n");
>       }
>       return 0;
>  }
> diff --git a/drivers/media/video/cx25840/cx25840-ir.c 
> b/drivers/media/video/cx25840/cx25840-ir.c
> index 627926f..b210c29 100644
> --- a/drivers/media/video/cx25840/cx25840-ir.c
> +++ b/drivers/media/video/cx25840/cx25840-ir.c
> @@ -668,7 +668,7 @@ static int cx25840_ir_rx_read(struct v4l2_subdev *sd, u8 
> *buf, size_t count,
>       u16 divider;
>       unsigned int i, n;
>       union cx25840_ir_fifo_rec *p;
> -     unsigned u, v;
> +     unsigned u, v, w;
>  
>       if (ir_state == NULL)
>               return -ENODEV;
> @@ -694,11 +694,12 @@ static int cx25840_ir_rx_read(struct v4l2_subdev *sd, 
> u8 *buf, size_t count,
>               if ((p->hw_fifo_data & FIFO_RXTX_RTO) == FIFO_RXTX_RTO) {
>                       /* Assume RTO was because of no IR light input */
>                       u = 0;
> -                     v4l2_dbg(2, ir_debug, sd, "rx read: end of rx\n");
> +                     w = 1;
>               } else {
>                       u = (p->hw_fifo_data & FIFO_RXTX_LVL) ? 1 : 0;
>                       if (invert)
>                               u = u ? 0 : 1;
> +                     w = 0;
>               }
>  
>               v = (unsigned) pulse_width_count_to_ns(
> @@ -709,9 +710,12 @@ static int cx25840_ir_rx_read(struct v4l2_subdev *sd, u8 
> *buf, size_t count,
>               init_ir_raw_event(&p->ir_core_data);
>               p->ir_core_data.pulse = u;
>               p->ir_core_data.duration = v;
> +             p->ir_core_data.timeout = w;
>  
> -             v4l2_dbg(2, ir_debug, sd, "rx read: %10u ns  %s\n",
> -                      v, u ? "mark" : "space");
> +             v4l2_dbg(2, ir_debug, sd, "rx read: %10u ns  %s  %s\n",
> +                      v, u ? "mark" : "space", w ? "(timed out)" : "");
> +             if (w)
> +                     v4l2_dbg(2, ir_debug, sd, "rx read: end of rx\n");
>       }
>       return 0;
>  }
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to