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 -
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 -
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_blockReviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
Link: https://patchwork.freedesktop.org/patch/msgid/da3dead1752ab16c061f7bd248ac1a4268f7fefb.1617024940.git.jani.nikula@intel.com -
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 -
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
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/21Signed-off-by: Gustavo A. R. Silva
18 Mar, 2020
1 commit
-
A+B on the previous line, B+A on the next line. Brain hurts.
Signed-off-by: Ville Syrjälä
Link: https://patchwork.freedesktop.org/patch/msgid/20200313162054.16009-3-ville.syrjala@linux.intel.com
Reviewed-by: Alex Deucher
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
23 May, 2016
1 commit
-
The tiled 5K Dell monitor appears to be hiding it's tiled mode
inside the displayid timings block, this patch parses this
blocks and adds the modes to the modelist.v1.1: add missing __packed.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95207
Signed-off-by: Dave Airlie
09 Dec, 2014
1 commit
-
These are just taken from the DisplayID v1.3 spec, and the
DDC spec.v2: use __packed (Jani)
Signed-off-by: Dave Airlie