[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c71ac711-087c-019a-0c3e-49f6a52ab2e7@redhat.com>
Date: Wed, 18 Oct 2023 15:36:02 +0200
From: Hans de Goede <hdegoede@...hat.com>
To: Orlando Chamberlain <orlandoch.dev@...il.com>
Cc: Mark Gross <markgross@...nel.org>,
platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org,
Aditya Garg <gargaditya08@...e.com>,
Aun-Ali Zaidi <admin@...eit.net>,
Kerem Karabay <kekrby@...il.com>,
Karsten Leipold <poldi@....de>
Subject: Re: [PATCH 1/1] apple-gmux: Hard Code max brightness for MMIO gmux
Hi,
On 10/17/23 13:14, Orlando Chamberlain wrote:
> The data in the max brightness port for iMacs with MMIO gmux incorrectly
> reports 0x03ff, but it should be 0xffff. As all other MMIO gmux models
> have 0xffff, hard code this for all MMIO gmux's so they all have the
> proper brightness range accessible.
>
> Reported-by: Karsten Leipold <poldi@....de>
> Signed-off-by: Orlando Chamberlain <orlandoch.dev@...il.com>
Thank you for your patch/series, I've applied this patch
(series) to the pdx86 fixes branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes
I have added the following Fixes: tag while merging this:
Fixes: 0c18184de990 ("platform/x86: apple-gmux: support MMIO gmux on T2 Macs")
I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.
Regards,
Hans
> ---
> drivers/platform/x86/apple-gmux.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c
> index cadbb557a108..1417e230edbd 100644
> --- a/drivers/platform/x86/apple-gmux.c
> +++ b/drivers/platform/x86/apple-gmux.c
> @@ -105,6 +105,8 @@ struct apple_gmux_config {
> #define GMUX_BRIGHTNESS_MASK 0x00ffffff
> #define GMUX_MAX_BRIGHTNESS GMUX_BRIGHTNESS_MASK
>
> +# define MMIO_GMUX_MAX_BRIGHTNESS 0xffff
> +
> static u8 gmux_pio_read8(struct apple_gmux_data *gmux_data, int port)
> {
> return inb(gmux_data->iostart + port);
> @@ -857,7 +859,17 @@ static int gmux_probe(struct pnp_dev *pnp, const struct pnp_device_id *id)
>
> memset(&props, 0, sizeof(props));
> props.type = BACKLIGHT_PLATFORM;
> - props.max_brightness = gmux_read32(gmux_data, GMUX_PORT_MAX_BRIGHTNESS);
> +
> + /*
> + * All MMIO gmux's have 0xffff as max brightness, but some iMacs incorrectly
> + * report 0x03ff, despite the firmware being happy to set 0xffff as the brightness
> + * at boot. Force 0xffff for all MMIO gmux's so they all have the correct brightness
> + * range.
> + */
> + if (type == APPLE_GMUX_TYPE_MMIO)
> + props.max_brightness = MMIO_GMUX_MAX_BRIGHTNESS;
> + else
> + props.max_brightness = gmux_read32(gmux_data, GMUX_PORT_MAX_BRIGHTNESS);
>
> #if IS_REACHABLE(CONFIG_ACPI_VIDEO)
> register_bdev = acpi_video_get_backlight_type() == acpi_backlight_apple_gmux;
Powered by blists - more mailing lists