Commit 8f6d6052 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller

nfp: pass cpp_id to nfp_cpp_map_area()

Align nfp_cpp_map_area() with other CPP-level APIs and pass
encoded cpp_id/dest rather than target, action, domain tuple.
Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: default avatarFrancois H. Theron <francois.theron@netronome.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3f0e55a2
...@@ -470,8 +470,8 @@ static void nfp_net_pci_unmap_mem(struct nfp_pf *pf) ...@@ -470,8 +470,8 @@ static void nfp_net_pci_unmap_mem(struct nfp_pf *pf)
static int nfp_net_pci_map_mem(struct nfp_pf *pf) static int nfp_net_pci_map_mem(struct nfp_pf *pf)
{ {
u32 min_size, cpp_id;
u8 __iomem *mem; u8 __iomem *mem;
u32 min_size;
int err; int err;
min_size = pf->max_data_vnics * NFP_PF_CSR_SLICE_SIZE; min_size = pf->max_data_vnics * NFP_PF_CSR_SLICE_SIZE;
...@@ -519,9 +519,9 @@ static int nfp_net_pci_map_mem(struct nfp_pf *pf) ...@@ -519,9 +519,9 @@ static int nfp_net_pci_map_mem(struct nfp_pf *pf)
pf->vfcfg_tbl2 = NULL; pf->vfcfg_tbl2 = NULL;
} }
mem = nfp_cpp_map_area(pf->cpp, "net.qc", 0, 0, cpp_id = NFP_CPP_ISLAND_ID(0, NFP_CPP_ACTION_RW, 0, 0);
NFP_PCIE_QUEUE(0), NFP_QCP_QUEUE_AREA_SZ, mem = nfp_cpp_map_area(pf->cpp, "net.qc", cpp_id, NFP_PCIE_QUEUE(0),
&pf->qc_area); NFP_QCP_QUEUE_AREA_SZ, &pf->qc_area);
if (IS_ERR(mem)) { if (IS_ERR(mem)) {
nfp_err(pf->cpp, "Failed to map Queue Controller area.\n"); nfp_err(pf->cpp, "Failed to map Queue Controller area.\n");
err = PTR_ERR(mem); err = PTR_ERR(mem);
......
...@@ -294,8 +294,8 @@ int nfp_cpp_writeq(struct nfp_cpp *cpp, u32 cpp_id, ...@@ -294,8 +294,8 @@ int nfp_cpp_writeq(struct nfp_cpp *cpp, u32 cpp_id,
unsigned long long address, u64 value); unsigned long long address, u64 value);
u8 __iomem * u8 __iomem *
nfp_cpp_map_area(struct nfp_cpp *cpp, const char *name, int domain, int target, nfp_cpp_map_area(struct nfp_cpp *cpp, const char *name, u32 cpp_id, u64 addr,
u64 addr, unsigned long size, struct nfp_cpp_area **area); unsigned long size, struct nfp_cpp_area **area);
struct nfp_cpp_mutex; struct nfp_cpp_mutex;
......
...@@ -294,8 +294,7 @@ int nfp_cpp_explicit_write(struct nfp_cpp *cpp, u32 cpp_id, u64 addr, ...@@ -294,8 +294,7 @@ int nfp_cpp_explicit_write(struct nfp_cpp *cpp, u32 cpp_id, u64 addr,
* nfp_cpp_map_area() - Helper function to map an area * nfp_cpp_map_area() - Helper function to map an area
* @cpp: NFP CPP handler * @cpp: NFP CPP handler
* @name: Name for the area * @name: Name for the area
* @domain: CPP domain * @cpp_id: CPP ID for operation
* @target: CPP target
* @addr: CPP address * @addr: CPP address
* @size: Size of the area * @size: Size of the area
* @area: Area handle (output) * @area: Area handle (output)
...@@ -306,15 +305,12 @@ int nfp_cpp_explicit_write(struct nfp_cpp *cpp, u32 cpp_id, u64 addr, ...@@ -306,15 +305,12 @@ int nfp_cpp_explicit_write(struct nfp_cpp *cpp, u32 cpp_id, u64 addr,
* Return: Pointer to memory mapped area or ERR_PTR * Return: Pointer to memory mapped area or ERR_PTR
*/ */
u8 __iomem * u8 __iomem *
nfp_cpp_map_area(struct nfp_cpp *cpp, const char *name, int domain, int target, nfp_cpp_map_area(struct nfp_cpp *cpp, const char *name, u32 cpp_id, u64 addr,
u64 addr, unsigned long size, struct nfp_cpp_area **area) unsigned long size, struct nfp_cpp_area **area)
{ {
u8 __iomem *res; u8 __iomem *res;
u32 dest;
dest = NFP_CPP_ISLAND_ID(target, NFP_CPP_ACTION_RW, 0, domain);
*area = nfp_cpp_area_alloc_acquire(cpp, name, dest, addr, size); *area = nfp_cpp_area_alloc_acquire(cpp, name, cpp_id, addr, size);
if (!*area) if (!*area)
goto err_eio; goto err_eio;
......
...@@ -481,18 +481,22 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name, const char *id, ...@@ -481,18 +481,22 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name, const char *id,
{ {
const struct nfp_rtsym *sym; const struct nfp_rtsym *sym;
u8 __iomem *mem; u8 __iomem *mem;
u32 cpp_id;
sym = nfp_rtsym_lookup(rtbl, name); sym = nfp_rtsym_lookup(rtbl, name);
if (!sym) if (!sym)
return (u8 __iomem *)ERR_PTR(-ENOENT); return (u8 __iomem *)ERR_PTR(-ENOENT);
cpp_id = NFP_CPP_ISLAND_ID(sym->target, NFP_CPP_ACTION_RW, 0,
sym->domain);
if (sym->size < min_size) { if (sym->size < min_size) {
nfp_err(rtbl->cpp, "Symbol %s too small\n", name); nfp_err(rtbl->cpp, "Symbol %s too small\n", name);
return (u8 __iomem *)ERR_PTR(-EINVAL); return (u8 __iomem *)ERR_PTR(-EINVAL);
} }
mem = nfp_cpp_map_area(rtbl->cpp, id, sym->domain, sym->target, mem = nfp_cpp_map_area(rtbl->cpp, id, cpp_id, sym->addr,
sym->addr, sym->size, area); sym->size, area);
if (IS_ERR(mem)) { if (IS_ERR(mem)) {
nfp_err(rtbl->cpp, "Failed to map symbol %s: %ld\n", nfp_err(rtbl->cpp, "Failed to map symbol %s: %ld\n",
name, PTR_ERR(mem)); name, PTR_ERR(mem));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment