summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoreggz2021-07-14 22:40:48 +0200
committereggz2021-07-14 22:40:48 +0200
commit2fea3131348a3633cdaaf183131589de07189671 (patch)
tree3c9ec8ea8672d403299c20eebeaac70ab89b4787
parenta6bb9f4b30d3254599371c22c4c20f3b967d235a (diff)
downloadaur-2fea3131348a3633cdaaf183131589de07189671.tar.gz
Updated
-rw-r--r--brightness.patch105
1 files changed, 0 insertions, 105 deletions
diff --git a/brightness.patch b/brightness.patch
deleted file mode 100644
index c3cc50e70c4c..000000000000
--- a/brightness.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-index 710edc70e37e..b60a763f3f95 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-@@ -2881,51 +2881,50 @@ static int set_backlight_via_aux(struct dc_link *link, uint32_t brightness)
- return rc ? 0 : 1;
- }
--static u32 convert_brightness(const struct amdgpu_dm_backlight_caps *caps,
-- const uint32_t user_brightness)
-+static int get_brightness_range(const struct amdgpu_dm_backlight_caps *caps,
-+ unsigned *min, unsigned *max)
- {
-- u32 min, max, conversion_pace;
-- u32 brightness = user_brightness;
--
- if (!caps)
-- goto out;
-+ return 0;
-- if (!caps->aux_support) {
-- max = caps->max_input_signal;
-- min = caps->min_input_signal;
-- /*
-- * The brightness input is in the range 0-255
-- * It needs to be rescaled to be between the
-- * requested min and max input signal
-- * It also needs to be scaled up by 0x101 to
-- * match the DC interface which has a range of
-- * 0 to 0xffff
-- */
-- conversion_pace = 0x101;
-- brightness =
-- user_brightness
-- * conversion_pace
-- * (max - min)
-- / AMDGPU_MAX_BL_LEVEL
-- + min * conversion_pace;
-+ if (caps->aux_support) {
-+ // Firmware limits are in nits, DC API wants millinits.
-+ *max = 1000 * caps->aux_max_input_signal;
-+ *min = 1000 * caps->aux_min_input_signal;
- } else {
-- /* TODO
-- * We are doing a linear interpolation here, which is OK but
-- * does not provide the optimal result. We probably want
-- * something close to the Perceptual Quantizer (PQ) curve.
-- */
-- max = caps->aux_max_input_signal;
-- min = caps->aux_min_input_signal;
--
-- brightness = (AMDGPU_MAX_BL_LEVEL - user_brightness) * min
-- + user_brightness * max;
-- // Multiple the value by 1000 since we use millinits
-- brightness *= 1000;
-- brightness = DIV_ROUND_CLOSEST(brightness, AMDGPU_MAX_BL_LEVEL);
-+ // Firmware limits are 8-bit, PWM control is 16-bit.
-+ *max = 0x101 * caps->max_input_signal;
-+ *min = 0x101 * caps->min_input_signal;
- }
-+ return 1;
-+}
--out:
-- return brightness;
-+static u32 convert_brightness_from_user(const struct amdgpu_dm_backlight_caps *caps,
-+ uint32_t brightness)
-+{
-+ unsigned min, max;
-+
-+ if (!get_brightness_range(caps, &min, &max))
-+ return brightness;
-+
-+ // Rescale 0..255 to min..max
-+ return min + DIV_ROUND_CLOSEST((max - min) * brightness,
-+ AMDGPU_MAX_BL_LEVEL);
-+}
-+
-+static u32 convert_brightness_to_user(const struct amdgpu_dm_backlight_caps *caps,
-+ uint32_t brightness)
-+{
-+ unsigned min, max;
-+
-+ if (!get_brightness_range(caps, &min, &max))
-+ return brightness;
-+
-+ if (brightness < min)
-+ return 0;
-+ // Rescale min..max to 0..255
-+ return DIV_ROUND_CLOSEST(AMDGPU_MAX_BL_LEVEL * (brightness - min),
-+ max - min);
- }
- static int amdgpu_dm_backlight_update_status(struct backlight_device *bd)
-@@ -2941,7 +2940,7 @@ static int amdgpu_dm_backlight_update_status(struct backlight_device *bd)
- link = (struct dc_link *)dm->backlight_link;
-- brightness = convert_brightness(&caps, bd->props.brightness);
-+ brightness = convert_brightness_from_user(&caps, bd->props.brightness);
- // Change brightness based on AUX property
- if (caps.aux_support)
- return set_backlight_via_aux(link, brightness);
-@@ -2958,7 +2957,7 @@ static int amdgpu_dm_backlight_get_brightness(struct backlight_device *bd)
- if (ret == DC_ERROR_UNEXPECTED)
- return bd->props.brightness;
-- return ret;
-+ return convert_brightness_to_user(&dm->backlight_caps, ret);
- }
- static const struct backlight_ops amdgpu_dm_backlight_ops = {
-base-commit: bcf876870b95592b52519ed4aafcf9d95999bc9c