Re: [PATCH 1/1] apple-gmux: Hard Code max brightness for MMIO gmux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx>
> Signed-off-by: Orlando Chamberlain <orlandoch.dev@xxxxxxxxx>

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;




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux