Re: [PATCH 2/8] thunderbolt: Move NVM upgrade support flag to struct icm

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

 



On Fri, Jul 5, 2019 at 12:58 PM Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> wrote:
>
> @@ -1913,12 +1915,7 @@ static int icm_start(struct tb *tb)
>         if (IS_ERR(tb->root_switch))
>                 return PTR_ERR(tb->root_switch);
>
> -       /*
> -        * NVM upgrade has not been tested on Apple systems and they
> -        * don't provide images publicly either. To be on the safe side
> -        * prevent root switch NVM upgrade on Macs for now.
> -        */
> -       tb->root_switch->no_nvm_upgrade = x86_apple_machine;
> +       tb->root_switch->no_nvm_upgrade = !icm->can_upgrade_nvm;
>         tb->root_switch->rpm = icm->rpm;
>
>         ret = tb_switch_add(tb->root_switch);
> @@ -2021,6 +2018,7 @@ struct tb *icm_probe(struct tb_nhi *nhi)
>         switch (nhi->pdev->device) {
>         case PCI_DEVICE_ID_INTEL_FALCON_RIDGE_2C_NHI:
>         case PCI_DEVICE_ID_INTEL_FALCON_RIDGE_4C_NHI:
> +               icm->can_upgrade_nvm = true;
>                 icm->is_supported = icm_fr_is_supported;
>                 icm->get_route = icm_fr_get_route;
>                 icm->save_devices = icm_fr_save_devices;
> @@ -2038,6 +2036,13 @@ struct tb *icm_probe(struct tb_nhi *nhi)
>         case PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_NHI:
>         case PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_NHI:
>                 icm->max_boot_acl = ICM_AR_PREBOOT_ACL_ENTRIES;
> +               /*
> +                * NVM upgrade has not been tested on Apple systems and
> +                * they don't provide images publicly either. To be on
> +                * the safe side prevent root switch NVM upgrade on Macs
> +                * for now.
> +                */
> +               icm->can_upgrade_nvm = !x86_apple_machine;
>                 icm->is_supported = icm_ar_is_supported;
>                 icm->cio_reset = icm_ar_cio_reset;
>                 icm->get_mode = icm_ar_get_mode;
> @@ -2054,6 +2059,7 @@ struct tb *icm_probe(struct tb_nhi *nhi)
>         case PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_NHI:
>         case PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_NHI:
>                 icm->max_boot_acl = ICM_AR_PREBOOT_ACL_ENTRIES;
> +               icm->can_upgrade_nvm = true;

Shouldn't this be also !x86_apple_machine just like AR?
(For FR, we don't use ICM on Apple machines, as much as I remember, so it's fine
to enable it there unconditionally for ICM code path.)

>                 icm->is_supported = icm_ar_is_supported;
>                 icm->cio_reset = icm_tr_cio_reset;
>                 icm->get_mode = icm_ar_get_mode;
> --
> 2.20.1
>



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux