mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-25 16:33:36 +00:00
HyperFlash devices fail to probe:
rpc-if-hyperflash rpc-if-hyperflash: probing of hyperbus device failed
In HyperFlash or Octal-SPI Flash mode, the Transfer Data Enable bits
(SPIDE) in the Manual Mode Enable Setting Register (SMENR) are derived
from half of the transfer size, cfr. the rpcif_bits_set() helper
function. However, rpcif_reg_{read,write}() does not take the bus size
into account, and does not double all Manual Mode Data Register access
sizes when communicating with a HyperFlash or Octal-SPI Flash device.
Fix this, and avoid the back-and-forth conversion between transfer size
and Transfer Data Enable bits, by explicitly storing the transfer size
in struct rpcif, and using that value to determine access size in
rpcif_reg_{read,write}().
Enforce that the "high" Manual Mode Read/Write Data Registers
(SM[RW]DR1) are only used for 8-byte data accesses.
While at it, forbid writing to the Manual Mode Read Data Registers,
as they are read-only.
Fixes:
|
||
|---|---|---|
| .. | ||
| samsung | ||
| tegra | ||
| .gitignore | ||
| atmel-ebi.c | ||
| atmel-sdramc.c | ||
| brcmstb_dpfe.c | ||
| bt1-l2-ctl.c | ||
| da8xx-ddrctl.c | ||
| dfl-emif.c | ||
| emif-asm-offsets.c | ||
| emif.c | ||
| emif.h | ||
| fsl_ifc.c | ||
| fsl-corenet-cf.c | ||
| jedec_ddr_data.c | ||
| jedec_ddr.h | ||
| jz4780-nemc.c | ||
| Kconfig | ||
| Makefile | ||
| mtk-smi.c | ||
| mvebu-devbus.c | ||
| of_memory.c | ||
| of_memory.h | ||
| omap-gpmc.c | ||
| pl172.c | ||
| pl353-smc.c | ||
| renesas-rpc-if.c | ||
| stm32-fmc2-ebi.c | ||
| ti-aemif.c | ||
| ti-emif-pm.c | ||
| ti-emif-sram-pm.S | ||