1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-26 22:52:34 +02:00

tree: Fix drivers to pass programmer_cfg to pcidev_init()

Allow for programmer_cfg plumbing in pcidev.c
The pci drivers impacted are plumbed here as well.

Change-Id: Ie0c9d1c0866d44f64d037c596f2e30547fcfd58f
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/66671
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
Edward O'Callaghan 2022-08-12 15:25:39 +10:00 committed by Edward O'Callaghan
parent ea938173a4
commit 5d63d3f884
19 changed files with 22 additions and 20 deletions

View File

@ -92,7 +92,7 @@ static int atahpt_init(const struct programmer_cfg *cfg)
if (rget_io_perms())
return 1;
dev = pcidev_init(ata_hpt, PCI_BASE_ADDRESS_4);
dev = pcidev_init(cfg, ata_hpt, PCI_BASE_ADDRESS_4);
if (!dev)
return 1;

View File

@ -140,7 +140,7 @@ static int atapromise_init(const struct programmer_cfg *cfg)
if (rget_io_perms())
return 1;
dev = pcidev_init(ata_promise, PCI_BASE_ADDRESS_4);
dev = pcidev_init(cfg, ata_promise, PCI_BASE_ADDRESS_4);
if (!dev)
return 1;

View File

@ -163,7 +163,7 @@ static int atavia_init(const struct programmer_cfg *cfg)
}
free(arg);
dev = pcidev_init(ata_via, PCI_ROM_ADDRESS); /* Actually no BAR setup needed at all. */
dev = pcidev_init(cfg, ata_via, PCI_ROM_ADDRESS); /* Actually no BAR setup needed at all. */
if (!dev)
return 1;

View File

@ -87,7 +87,7 @@ static int drkaiser_init(const struct programmer_cfg *cfg)
uint32_t addr;
uint8_t *bar;
dev = pcidev_init(drkaiser_pcidev, PCI_BASE_ADDRESS_2);
dev = pcidev_init(cfg, drkaiser_pcidev, PCI_BASE_ADDRESS_2);
if (!dev)
return 1;

View File

@ -111,7 +111,7 @@ static int gfxnvidia_init(const struct programmer_cfg *cfg)
uint32_t reg32;
uint8_t *bar;
dev = pcidev_init(gfx_nvidia, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, gfx_nvidia, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -124,7 +124,7 @@ struct pci_filter;
extern struct pci_access *pacc;
int pci_init_common(void);
uintptr_t pcidev_readbar(struct pci_dev *dev, int bar);
struct pci_dev *pcidev_init(const struct dev_entry *devs, int bar);
struct pci_dev *pcidev_init(const struct programmer_cfg *cfg, const struct dev_entry *devs, int bar);
struct pci_dev *pcidev_scandev(struct pci_filter *filter, struct pci_dev *start);
struct pci_dev *pcidev_getdevfn(struct pci_dev *dev, const int func);
struct pci_dev *pcidev_find_vendorclass(uint16_t vendor, uint16_t devclass);

View File

@ -78,7 +78,7 @@ static int it8212_init(const struct programmer_cfg *cfg)
{
uint8_t *bar;
struct pci_dev *dev = pcidev_init(devs_it8212, PCI_ROM_ADDRESS);
struct pci_dev *dev = pcidev_init(cfg, devs_it8212, PCI_ROM_ADDRESS);
if (!dev)
return 1;

View File

@ -111,7 +111,7 @@ static int nic3com_init(const struct programmer_cfg *cfg)
if (rget_io_perms())
return 1;
dev = pcidev_init(nics_3com, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, nics_3com, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -85,7 +85,7 @@ static int nicintel_init(const struct programmer_cfg *cfg)
uint8_t *control_bar;
/* FIXME: BAR2 is not available if the device uses the CardBus function. */
dev = pcidev_init(nics_intel, PCI_BASE_ADDRESS_2);
dev = pcidev_init(cfg, nics_intel, PCI_BASE_ADDRESS_2);
if (!dev)
return 1;

View File

@ -485,7 +485,7 @@ static int nicintel_ee_init(const struct programmer_cfg *cfg)
uint32_t eec = 0;
uint8_t *eebar;
struct pci_dev *dev = pcidev_init(nics_intel_ee, PCI_BASE_ADDRESS_0);
struct pci_dev *dev = pcidev_init(cfg, nics_intel_ee, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -289,7 +289,7 @@ static int nicintel_spi_init(const struct programmer_cfg *cfg)
{
struct pci_dev *dev = NULL;
dev = pcidev_init(nics_intel_spi, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, nics_intel_spi, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -96,7 +96,7 @@ static int nicnatsemi_init(const struct programmer_cfg *cfg)
if (rget_io_perms())
return 1;
dev = pcidev_init(nics_natsemi, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, nics_natsemi, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -107,7 +107,7 @@ static int nicrealtek_init(const struct programmer_cfg *cfg)
if (rget_io_perms())
return 1;
dev = pcidev_init(nics_realtek, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, nics_realtek, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -140,7 +140,7 @@ static int ogp_spi_init(const struct programmer_cfg *cfg)
}
free(type);
dev = pcidev_init(ogp_spi, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, ogp_spi, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -257,7 +257,7 @@ int pci_init_common(void)
* also matches the specified bus:device.function.
* For convenience, this function also registers its own undo handlers.
*/
struct pci_dev *pcidev_init(const struct dev_entry *devs, int bar)
struct pci_dev *pcidev_init(const struct programmer_cfg *cfg, const struct dev_entry *devs, int bar)
{
struct pci_dev *dev;
struct pci_dev *found_dev = NULL;
@ -272,7 +272,7 @@ struct pci_dev *pcidev_init(const struct dev_entry *devs, int bar)
pci_filter_init(pacc, &filter);
/* Filter by bb:dd.f (if supplied by the user). */
pcidev_bdf = extract_programmer_param_str(NULL, "pci"); /* TODO(quasisec): pass prog_param */
pcidev_bdf = extract_programmer_param_str(cfg, "pci");
if (pcidev_bdf != NULL) {
if ((msg = pci_filter_parse_slot(&filter, pcidev_bdf))) {
msg_perr("Error: %s\n", msg);

View File

@ -126,7 +126,7 @@ static int satamv_init(const struct programmer_cfg *cfg)
return 1;
/* BAR0 has all internal registers memory mapped. */
dev = pcidev_init(satas_mv, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, satas_mv, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -112,7 +112,7 @@ static int satasii_init(const struct programmer_cfg *cfg)
uint16_t reg_offset, id;
uint8_t *bar;
dev = pcidev_init(satas_sii, PCI_BASE_ADDRESS_0);
dev = pcidev_init(cfg, satas_sii, PCI_BASE_ADDRESS_0);
if (!dev)
return 1;

View File

@ -52,7 +52,7 @@ struct pci_dev mock_pci_dev = {
.device_id = NON_ZERO,
};
struct pci_dev *__wrap_pcidev_init(void *devs, int bar)
struct pci_dev *__wrap_pcidev_init(const struct programmer_cfg *cfg, void *devs, int bar)
{
LOG_ME;
return &mock_pci_dev;

View File

@ -19,10 +19,12 @@
#include <stdio.h>
#include "flash.h"
struct programmer_cfg; /* defined in programmer.h */
char *__wrap_strdup(const char *s);
void __wrap_physunmap(void *virt_addr, size_t len);
void *__wrap_physmap(const char *descr, uintptr_t phys_addr, size_t len);
struct pci_dev *__wrap_pcidev_init(void *devs, int bar);
struct pci_dev *__wrap_pcidev_init(const struct programmer_cfg *cfg, void *devs, int bar);
uintptr_t __wrap_pcidev_readbar(void *dev, int bar);
void __wrap_sio_write(uint16_t port, uint8_t reg, uint8_t data);
uint8_t __wrap_sio_read(uint16_t port, uint8_t reg);