RE: [PATCH v9 6/6] thunderbolt: Add support for ASMedia image format

From: Szuying Chen
Date: Tue Sep 06 2022 - 06:11:49 EST


From: Szuying Chen <Chloe_Chen@xxxxxxxxxxxxxx>

Hi,

>
> +static int asmedia_switch_nvm_version(struct tb_nvm *nvm) {
> + struct tb_switch *sw = tb_to_switch(nvm->dev);
> + u32 val;
> + int ret;
> +
> + ret = tb_switch_nvm_read(sw, ASMEDIA_NVM_VERSION, &val, sizeof(val));
> + if (ret)
> + return ret;
> +
> + nvm->major = (val << 16) & 0xff0000;
> + nvm->minor |= val & 0x00ff00;

nvm->major

> + nvm->major |= (val >> 16) & 0x0000ff;
> +
> + ret = tb_switch_nvm_read(sw, ASMEDIA_NVM_DATE, &val, sizeof(val));
> + if (ret)
> + return ret;
> +
> + nvm->minor = (val << 16) & 0xff0000;
> + nvm->minor |= val & 0x00ff00;
> + nvm->minor |= (val >> 16) & 0x0000ff;
> +
> + /* ASMedia NVM size is fixed to 512k */
> + nvm->active_size = SZ_512K;
> +
> + return 0;
> +}
> +
> +static const struct tb_nvm_vendor_ops asmedia_switch_nvm_ops = {
> + .read_version = asmedia_switch_nvm_version, };
> +
> /* Router vendor NVM support table */
> static const struct tb_nvm_vendor switch_nvm_vendors[] = {
> + { 0x174c, &asmedia_switch_nvm_ops },
> { PCI_VENDOR_ID_INTEL, &intel_switch_nvm_ops },
> { 0x8087, &intel_switch_nvm_ops },
> };
> --

Thanks!