Attention is currently required from: Anastasia Klimchuk, Hsuan Ting Chen, Subrata Banik.
11 comments:
Commit Message:
Is MTL a Meteor Lake and ADL Alder Point?
YES
Sure, let me add a test for APL. (apollo lake)
File ichspi.c:
Patch Set #10, Line 1853: mmio_readw
Why it is `readw` (reads into uint16_t) here, but `readl` below (reads into uint32_t)? […]
You could see the document of Intel Core Ultra:
For `BIOS_BM_RAP` and `BIOS_BM_WAP`:
https://edc.intel.com/content/www/de/de/design/publications/14th-generation-core-processors-soc-i-o-registers/bios-master-read-access-permissions-bios-bm-rap-offset-118/
```
+-----------+--------------------------------------+
| Bit Range | Filed Name and Description |
+-----------+--------------------------------------+
| 31:16 | Reserved |
+-----------+--------------------------------------+
| 15:0 | BIOSS Master Read Access Permissions |
+-----------+--------------------------------------+
```
As only bits 15:0 are meaningful, using `mmio_readw()` (which reads 16 bits) is sufficient. (There are also a maximum of 15 regions at present.)
For `FRAP`:
https://www.intel.sg/content/dam/doc/datasheet/io-controller-hub-9-datasheet.pdf
page 827
```
+-----------+--------------------------------------+-------------+
| Bit Range | Filed Name and Description | In flashrom |
+-----------+--------------------------------------+-------------+
| 31:24 | BIOS Master Write Access Grant | ICH_BMWAG() |
+-----------+--------------------------------------+-------------+
| 23:16 | BIOS Master Read Access Grant | ICH_BMRAG() |
+-----------+--------------------------------------+-------------+
| 15:8 | BIOS Region Write Access | ICH_BRWA() |
+-----------+--------------------------------------+-------------+
| 7:0 | BIOS Region Read Access | ICH_BRRA() |
+-----------+--------------------------------------+-------------+
```
As we need all 32 bits, using `mmio_readl()` (which reads 32 bits) is necessary.
Therefore, I suggest using `region_read_access` and `region_write_access` as `uint16_t*`, rather than changing any of the current `mmio_read` functions.
Patch Set #10, Line 1854: *region_write_access = mmio_readw(ich_spibar + ICH_REG_BIOS_BM_WAP);
Maybe you can also add some debugging prints in this branch too
Done
Patch Set #10, Line 1876: inline
I don't think this needs to be inline?
Done
Could I know if there's any concern of inline it?
if (ich_generation >= CHIPSET_METEOR_LAKE)
return 16;
return 8;
maybe make it one line […]
Done
Patch Set #10, Line 2109: case CHIPSET_METEOR_LAKE:
Let's re-order Meteor Lake here too
Done
Patch Set #10, Line 2149: case CHIPSET_METEOR_LAKE:
and here
Done
Patch Set #10, Line 2211: case CHIPSET_METEOR_LAKE:
and here
Done
you can leave the word "registers", so that it is "... […]
Done
Patch Set #10, Line 2291: case CHIPSET_METEOR_LAKE:
and here
Done
Patch Set #10, Line 2331: case CHIPSET_METEOR_LAKE:
and here
Done
To view, visit change 81357. To unsubscribe, or for help writing mail filters, visit settings.