• Frank Schaefer's avatar
    [media] em28xx: move caching of pointer to vmalloc memory in videobuf to struct em28xx_buffer · 4078d625
    Frank Schaefer authored
    In the current code em28xx_urb_data_copy() caches the pointer to the vmalloc
    memory in videobuf locally.
    The alternative would be to call videobuf_to_vmalloc() for each processed USB
    data packet (isoc USB transfers => 64 times per URB) in the em28xx_copy_*()
    functions.
    With the next commits, the data processing code will be split into functions
    for serveral reasons:
    - em28xx_urb_data_copy() is generally way to long, making it less readable
    - there is code duplication between VBI and video data processing
    - support for em25xx data processing (uses a different header and frame
      end signaling mechanism) will be added
    This would require extensive usage of pointer-pointers, which usually makes the
    code less readable and prone to bugs.
    The better solution is to cache the pointer in struct em28xx_buffer.
    This also improves consistency, because we already track the buffer fill count there.
    Signed-off-by: default avatarFrank Schäfer <fschaefer.oss@googlemail.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    4078d625
em28xx-video.c 59.4 KB