Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1629230
| From | Benjamin Herrenschmidt <benh@kernel.crashing.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v4 05/11] VAS: Define helpers for access MMIO regions |
| Date | 2017-04-24 08:30 +0200 |
| Message-ID | <tzFFw-3rT-11@gated-at.bofh.it> (permalink) |
| References | <tqX8B-cu-3@gated-at.bofh.it> <tqX8C-cu-27@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, 2017-03-30 at 22:13 -0700, Sukadev Bhattiprolu wrote:
> +static void *map_mmio_region(char *name, uint64_t start, int len)
> +{
> + void *map;
> +
> + if (!request_mem_region(start, len, name)) {
> + pr_devel("%s(): request_mem_region(0x%llx, %d) failed\n",
> + __func__, start, len);
> + return NULL;
> + }
> +
> + map = __ioremap(start, len, pgprot_val(pgprot_cached(__pgprot(0))));
> + if (!map) {
> + pr_devel("%s(): ioremap(0x%llx, %d) failed\n", __func__, start,
> + len);
> + return NULL;
> + }
> +
> + return map;
> +}
That's very wrong. I assume this never worked right ?
MMIO regions must be mapped non-cachable. Only the paste region
requires being mapped cachable. Ask Aneesh for a cleaner way of
doing it too while at it.
> +/*
> + * Unmap the MMIO regions for a window.
> + */
> +static void unmap_wc_paste_kaddr(struct vas_window *window)
> +{
> + int len;
Don't use "wc"... that usually means "write combine".
Cheers,
Ben.
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [PATCH v4 05/11] VAS: Define helpers for access MMIO regions Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2017-04-24 08:30 +0200 Re: [PATCH v4 05/11] VAS: Define helpers for access MMIO regions Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> - 2017-04-24 19:30 +0200
csiph-web