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
w83l786ng.rst
Kernel driver w83l786ng
=======================

Supported chips:

  * Winbond W83L786NG/W83L786NR

    Prefix: 'w83l786ng'

    Addresses scanned: I2C 0x2e - 0x2f

    Datasheet: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83L786NRNG09.pdf

Author: Kevin Lo <kevlo@kevlo.org>


Module Parameters
-----------------

* reset boolean
    (default 0)

    Use 'reset=1' to reset the chip (via index 0x40, bit 7). The default
    behavior is no chip reset to preserve BIOS settings


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

This driver implements support for Winbond W83L786NG/W83L786NR chips.

The driver implements two temperature sensors, two fan rotation speed
sensors, and three voltage sensors.

Temperatures are measured in degrees Celsius and measurement resolution is 1
degC for temp1 and temp2.

Fan rotation speeds are reported in RPM (rotations per minute). Fan readings
can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64
or 128 for fan 1/2) to give the readings more range or accuracy.

Voltage sensors (also known as IN sensors) report their values in millivolts.
An alarm is triggered if the voltage has crossed a programmable minimum
or maximum limit.

/sys files
----------

pwm[1-2]
	    - this file stores PWM duty cycle or DC value (fan speed) in range:

	      0 (stop) to 255 (full)
pwm[1-2]_enable
	    - this file controls mode of fan/temperature control:

	    * 0 Manual Mode
	    * 1 Thermal Cruise
	    * 2 Smart Fan II
	    * 4 FAN_SET
pwm[1-2]_mode
	    - Select PWM of DC mode

	    * 0 DC
	    * 1 PWM
tolerance[1-2]
	    - Value in degrees of Celsius (degC) for +- T
back to top