Re: [PATCH 2/9] em28xx: Bulk transfer implementation fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 4, 2018 at 7:04 PM, Brad Love <brad@xxxxxxxxxxxxxxxx> wrote:
> Set appropriate bulk/ISOC transfer multiplier on capture start.
> This sets ISOC transfer to 940 bytes (188 * 5)
> This sets bulk transfer to 48128 bytes (188 * 256)
>
> The above values are maximum allowed according to Empia.
>
> Signed-off-by: Brad Love <brad@xxxxxxxxxxxxxxxx>

:+1

Reviewed-by: Michael Ira Krufky <mkrufky@xxxxxxxxxxx>

> ---
>  drivers/media/usb/em28xx/em28xx-core.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/drivers/media/usb/em28xx/em28xx-core.c b/drivers/media/usb/em28xx/em28xx-core.c
> index ef38e56..67ed6a3 100644
> --- a/drivers/media/usb/em28xx/em28xx-core.c
> +++ b/drivers/media/usb/em28xx/em28xx-core.c
> @@ -638,6 +638,18 @@ int em28xx_capture_start(struct em28xx *dev, int start)
>             dev->chip_id == CHIP_ID_EM28174 ||
>             dev->chip_id == CHIP_ID_EM28178) {
>                 /* The Transport Stream Enable Register moved in em2874 */
> +               if (dev->dvb_xfer_bulk) {
> +                       /* Max Tx Size = 188 * 256 = 48128 - LCM(188,512) * 2 */
> +                       em28xx_write_reg(dev, (dev->ts == PRIMARY_TS) ?
> +                                       EM2874_R5D_TS1_PKT_SIZE :
> +                                       EM2874_R5E_TS2_PKT_SIZE,
> +                                       0xFF);
> +               } else {
> +                       /* TS2 Maximum Transfer Size = 188 * 5 */
> +                       em28xx_write_reg(dev, (dev->ts == PRIMARY_TS) ?
> +                                       EM2874_R5D_TS1_PKT_SIZE :
> +                                       EM2874_R5E_TS2_PKT_SIZE, 0x05);
> +               }
>                 if (dev->ts == PRIMARY_TS)
>                         rc = em28xx_write_reg_bits(dev,
>                                 EM2874_R5F_TS_ENABLE,
> --
> 2.7.4
>



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux