Revision d2e3fce9ddafe689c6f7cb355f23560637e30b9d authored by Ville Syrjälä on 10 November 2020, 21:04:47 UTC, committed by Rodrigo Vivi on 19 November 2020, 06:52:25 UTC
EDID can declare the maximum supported bpc up to 16,
and apparently there are displays that do so. Currently
we assume 12 bpc is tha max. Fix the assumption and
toss in a MISSING_CASE() for any other value we don't
expect to see.

This fixes modesets with a display with EDID max bpc > 12.
Previously any modeset would just silently fail on platforms
that didn't otherwise limit this via the max_bpc property.
In particular we don't add the max_bpc property to HDMI
ports on gmch platforms, and thus we would see the raw
max_bpc coming from the EDID.

I suppose we could already adjust this to also allow 16bpc,
but seeing as no current platform supports that there is
little point.

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2632
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201110210447.27454-1-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
(cherry picked from commit 2ca5a7b85b0c2b97ef08afbd7799b022e29f192e)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
1 parent b5462cc
Raw File
nct6683.rst
Kernel driver nct6683
=====================

Supported chips:

  * Nuvoton NCT6683D

    Prefix: 'nct6683'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

Authors:

	Guenter Roeck <linux@roeck-us.net>

Description
-----------

This driver implements support for the Nuvoton NCT6683D eSIO chip.

The chips implement up to shared 32 temperature and voltage sensors.
It supports up to 16 fan rotation sensors and up to 8 fan control engines.

Temperatures are measured in degrees Celsius. Measurement resolution is
0.5 degrees C.

Voltage sensors (also known as IN sensors) report their values in millivolts.

Fan rotation speeds are reported in RPM (rotations per minute).

Usage Note
----------

Limit register locations on Intel boards with EC firmware version 1.0
build date 04/03/13 do not match the register locations in the Nuvoton
datasheet. Nuvoton confirms that Intel uses a special firmware version
with different register addresses. The specification describing the Intel
firmware is held under NDA by Nuvoton and Intel and not available
to the public.

Some of the register locations can be reverse engineered; others are too
well hidden. Given this, writing any values from the operating system is
considered too risky with this firmware and has been disabled. All limits
must all be written from the BIOS.

The driver has only been tested with the Intel firmware, and by default
only instantiates on Intel boards. To enable it on non-Intel boards,
set the 'force' module parameter to 1.

Tested Boards and Firmware Versions
-----------------------------------

The driver has been reported to work with the following boards and
firmware versions.

=============== ===============================================
Board		Firmware version
=============== ===============================================
Intel DH87RL	NCT6683D EC firmware version 1.0 build 04/03/13
Intel DH87MC	NCT6683D EC firmware version 1.0 build 04/03/13
Intel DB85FL	NCT6683D EC firmware version 1.0 build 04/03/13
=============== ===============================================
back to top