31 Mar, 2021

5 commits

  • Avoid any confusion with High Dynamic Range. No functional changes.

    Reviewed-by: Ville Syrjälä
    Signed-off-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/msgid/ce083bd2789c7e22a91710726162287db88e3f6c.1617024940.git.jani.nikula@intel.com

    Jani Nikula
     
  • Neatly reduce displayid boilerplate in code. Remove excessive debug
    logging while at it, no other functional changes.

    The old displayid iterator becomes unused; remove it as well as make
    drm_find_displayid_extension() static.

    Reviewed-by: Ville Syrjälä
    Signed-off-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/msgid/fa4b5c790b5bdd82063545a6f209f8e9d78a63a7.1617024940.git.jani.nikula@intel.com

    Jani Nikula
     
  • Iterating DisplayID blocks across sections (in EDID extensions) is
    unnecessarily complicated for the caller. Implement DisplayID iterators
    to go through all blocks in all sections.

    Usage example:

    const struct displayid_block *block;
    struct displayid_iter iter;

    displayid_iter_edid_begin(edid, &iter);
    displayid_iter_for_each(block, &iter) {
    /* operate on block */
    }
    displayid_iter_end(&iter);

    When DisplayID is stored in EDID extensions, the DisplayID sections map
    to extensions as described in VESA DisplayID v1.3 Appendix B: DisplayID
    as an EDID Extension. This is implemented here.

    When DisplayID is stored in its dedicated DDC device 0xA4, according to
    VESA E-DDC v1.3, different rules apply for the structure. This is not
    implemented here, as we don't currently use it, but the idea is you'd
    have a different call for beginning the iteration, for example simply:

    displayid_iter_begin(displayid, &iter);

    instead of displayid_iter_edid_begin(), and everything else would be
    hidden away in the iterator functions.

    v2:
    - sizeof(struct displayid_block) -> sizeof(*block) (Ville)
    - remove __ prefix from displayid_iter_block

    Reviewed-by: Ville Syrjälä
    Signed-off-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/msgid/da3dead1752ab16c061f7bd248ac1a4268f7fefb.1617024940.git.jani.nikula@intel.com

    Jani Nikula
     
  • We'll be adding more DisplayID specific functions going forward, so
    start off by splitting out a few functions to a separate file.

    We don't bother with exporting the functions; at least for now they
    should be needed solely within drm.ko.

    No functional changes.

    Reviewed-by: Ville Syrjälä
    Signed-off-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/msgid/07942d5011891b8e8f77245c78b34f4af97a9315.1617024940.git.jani.nikula@intel.com

    Jani Nikula
     
  • If there's no need to change it, it should be const. There's more to be
    done, but start off with changes that make follow-up work easier. No
    functional changes.

    Reviewed-by: Ville Syrjälä
    Signed-off-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/msgid/41722f92ef81cd6adf65f936fcc5301418e1f94b.1617024940.git.jani.nikula@intel.com

    Jani Nikula
     

16 Jun, 2020

1 commit

  • There is a regular need in the kernel to provide a way to declare having a
    dynamically sized set of trailing elements in a structure. Kernel code should
    always use “flexible array members”[1] for these cases. The older style of
    one-element or zero-length arrays should no longer be used[2].

    [1] https://en.wikipedia.org/wiki/Flexible_array_member
    [2] https://github.com/KSPP/linux/issues/21

    Signed-off-by: Gustavo A. R. Silva

    Gustavo A. R. Silva
     

18 Mar, 2020

1 commit


25 Jun, 2019

1 commit

  • DisplayID blocks allow embedding of CEA blocks. The payloads are
    identical to traditional top level CEA extension blocks, but the header
    is slightly different.

    This change allows the CEA parser to find a CEA block inside a DisplayID
    block. Additionally, it adds support for parsing the embedded CTA
    header. No further changes are necessary due to payload parity.

    This change fixes audio support for the Valve Index HMD.

    Signed-off-by: Andres Rodriguez
    Reviewed-by: Dave Airlie
    Cc: Jani Nikula
    Cc: # v4.15
    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20190619180901.17901-1-andresx7@gmail.com

    Andres Rodriguez
     

23 May, 2016

1 commit


09 Dec, 2014

1 commit