Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1f2beb8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull media fixes from Mauro Carvalho Chehab:

 - several fixes for new drivers added for Kernel 4.8 addition (cec
   core, pulse8 cec driver and Mediatek vcodec)

 - a regression fix for cx23885 and saa7134 drivers

 - an important fix for rcar-fcp, making rcar_fcp_enable() return 0 on
   success

* tag 'media/v4.8-7' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (25 commits)
  [media] cx23885/saa7134: assign q->dev to the PCI device
  [media] rcar-fcp: Make sure rcar_fcp_enable() returns 0 on success
  [media] cec: fix ioctl return code when not registered
  [media] cec: don't Feature Abort broadcast msgs when unregistered
  [media] vcodec:mediatek: Refine VP8 encoder driver
  [media] vcodec:mediatek: Refine H264 encoder driver
  [media] vcodec:mediatek: change H264 profile default to profile high
  [media] vcodec:mediatek: Add timestamp and timecode copy for V4L2 Encoder
  [media] vcodec:mediatek: Fix visible_height larger than coded_height issue in s_fmt_out
  [media] vcodec:mediatek: Fix fops_vcodec_release flow for V4L2 Encoder
  [media] vcodec:mediatek:code refine for v4l2 Encoder driver
  [media] cec-funcs.h: add missing vendor-specific messages
  [media] cec-edid: check for IEEE identifier
  [media] pulse8-cec: fix error handling
  [media] pulse8-cec: set correct Signal Free Time
  [media] mtk-vcodec: add HAS_DMA dependency
  [media] cec: ignore messages when log_addr_mask == 0
  [media] cec: add item to TODO
  [media] cec: set unclaimed addresses to CEC_LOG_ADDR_INVALID
  [media] cec: add CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK flag
  ...
parents f887c21e d8feef9b
Loading
Loading
Loading
Loading
+20 −1
Original line number Original line Diff line number Diff line
@@ -144,7 +144,7 @@ logical address types are already defined will return with error ``EBUSY``.


       -  ``flags``
       -  ``flags``


       -  Flags. No flags are defined yet, so set this to 0.
       -  Flags. See :ref:`cec-log-addrs-flags` for a list of available flags.


    -  .. row 7
    -  .. row 7


@@ -201,6 +201,25 @@ logical address types are already defined will return with error ``EBUSY``.
          give the CEC framework more information about the device type, even
          give the CEC framework more information about the device type, even
          though the framework won't use it directly in the CEC message.
          though the framework won't use it directly in the CEC message.


.. _cec-log-addrs-flags:

.. flat-table:: Flags for struct cec_log_addrs
    :header-rows:  0
    :stub-columns: 0
    :widths:       3 1 4


    -  .. _`CEC-LOG-ADDRS-FL-ALLOW-UNREG-FALLBACK`:

       -  ``CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK``

       -  1

       -  By default if no logical address of the requested type can be claimed, then
	  it will go back to the unconfigured state. If this flag is set, then it will
	  fallback to the Unregistered logical address. Note that if the Unregistered
	  logical address was explicitly requested, then this flag has no effect.

.. _cec-versions:
.. _cec-versions:


.. flat-table:: CEC Versions
.. flat-table:: CEC Versions
+6 −2
Original line number Original line Diff line number Diff line
@@ -64,7 +64,8 @@ it is guaranteed that the state did change in between the two events.


       -  ``phys_addr``
       -  ``phys_addr``


       -  The current physical address.
       -  The current physical address. This is ``CEC_PHYS_ADDR_INVALID`` if no
          valid physical address is set.


    -  .. row 2
    -  .. row 2


@@ -72,7 +73,10 @@ it is guaranteed that the state did change in between the two events.


       -  ``log_addr_mask``
       -  ``log_addr_mask``


       -  The current set of claimed logical addresses.
       -  The current set of claimed logical addresses. This is 0 if no logical
          addresses are claimed or if ``phys_addr`` is ``CEC_PHYS_ADDR_INVALID``.
	  If bit 15 is set (``1 << CEC_LOG_ADDR_UNREGISTERED``) then this device
	  has the unregistered logical address. In that case all other bits are 0.






+4 −1
Original line number Original line Diff line number Diff line
@@ -70,7 +70,10 @@ static unsigned int cec_get_edid_spa_location(const u8 *edid, unsigned int size)
				u8 tag = edid[i] >> 5;
				u8 tag = edid[i] >> 5;
				u8 len = edid[i] & 0x1f;
				u8 len = edid[i] & 0x1f;


				if (tag == 3 && len >= 5 && i + len <= end)
				if (tag == 3 && len >= 5 && i + len <= end &&
				    edid[i + 1] == 0x03 &&
				    edid[i + 2] == 0x0c &&
				    edid[i + 3] == 0x00)
					return i + 4;
					return i + 4;
				i += len + 1;
				i += len + 1;
			} while (i < end);
			} while (i < end);
+1 −0
Original line number Original line Diff line number Diff line
@@ -1552,6 +1552,7 @@ int cx23885_417_register(struct cx23885_dev *dev)
	q->mem_ops = &vb2_dma_sg_memops;
	q->mem_ops = &vb2_dma_sg_memops;
	q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
	q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
	q->lock = &dev->lock;
	q->lock = &dev->lock;
	q->dev = &dev->pci->dev;


	err = vb2_queue_init(q);
	err = vb2_queue_init(q);
	if (err < 0)
	if (err < 0)
+1 −0
Original line number Original line Diff line number Diff line
@@ -1238,6 +1238,7 @@ static int dvb_init(struct saa7134_dev *dev)
	q->buf_struct_size = sizeof(struct saa7134_buf);
	q->buf_struct_size = sizeof(struct saa7134_buf);
	q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
	q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
	q->lock = &dev->lock;
	q->lock = &dev->lock;
	q->dev = &dev->pci->dev;
	ret = vb2_queue_init(q);
	ret = vb2_queue_init(q);
	if (ret) {
	if (ret) {
		vb2_dvb_dealloc_frontends(&dev->frontends);
		vb2_dvb_dealloc_frontends(&dev->frontends);
Loading