* [PATCH] drm/nv50-: make dma-objects read-only where appropriate
@ 2013-09-02 14:31 Maarten Lankhorst
[not found] ` <1378132283-19536-1-git-send-email-maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Maarten Lankhorst @ 2013-09-02 14:31 UTC (permalink / raw)
To: nouveau; +Cc: dri-devel
I don't see why the display engine would need write access to the entirety of
vram, when read-only access is enough.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
---
drivers/gpu/drm/nouveau/nv50_display.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index aab72f5..eac6b2a 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -159,7 +159,7 @@ nv50_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NV50_DMA_CONF0_ENABLE |
@@ -172,7 +172,7 @@ nv50_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NV50_DMA_CONF0_ENABLE | 0x70 |
@@ -185,7 +185,7 @@ nv50_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NV50_DMA_CONF0_ENABLE | 0x7a |
@@ -204,7 +204,7 @@ nvc0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NVC0_DMA_CONF0_ENABLE,
@@ -216,7 +216,7 @@ nvc0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NVC0_DMA_CONF0_ENABLE | 0xfe,
@@ -228,7 +228,7 @@ nvc0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NVC0_DMA_CONF0_ENABLE | 0xfe,
@@ -246,7 +246,7 @@ nvd0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NVD0_DMA_CONF0_ENABLE |
@@ -259,7 +259,7 @@ nvd0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
.conf0 = NVD0_DMA_CONF0_ENABLE | 0xfe |
@@ -316,7 +316,7 @@ nv50_dmac_create(struct nouveau_object *core, u32 bclass, u8 head,
NV_DMA_IN_MEMORY_CLASS,
&(struct nv_dma_class) {
.flags = NV_DMA_TARGET_VRAM |
- NV_DMA_ACCESS_RDWR,
+ NV_DMA_ACCESS_RD,
.start = 0,
.limit = pfb->ram->size - 1,
}, sizeof(struct nv_dma_class), &object);
--
1.8.3.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] drm/nv50-: make dma-objects read-only where appropriate
[not found] ` <1378132283-19536-1-git-send-email-maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
@ 2013-09-04 3:23 ` Ben Skeggs
0 siblings, 0 replies; 2+ messages in thread
From: Ben Skeggs @ 2013-09-04 3:23 UTC (permalink / raw)
To: Maarten Lankhorst
Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
On Tue, Sep 3, 2013 at 12:31 AM, Maarten Lankhorst
<maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> wrote:
> I don't see why the display engine would need write access to the entirety of
> vram, when read-only access is enough.
Meh, this really doesn't matter... We're doing the same setup as
nvidia do here, and I see no good reason not to.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> ---
> drivers/gpu/drm/nouveau/nv50_display.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
> index aab72f5..eac6b2a 100644
> --- a/drivers/gpu/drm/nouveau/nv50_display.c
> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
> @@ -159,7 +159,7 @@ nv50_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NV50_DMA_CONF0_ENABLE |
> @@ -172,7 +172,7 @@ nv50_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NV50_DMA_CONF0_ENABLE | 0x70 |
> @@ -185,7 +185,7 @@ nv50_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NV50_DMA_CONF0_ENABLE | 0x7a |
> @@ -204,7 +204,7 @@ nvc0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NVC0_DMA_CONF0_ENABLE,
> @@ -216,7 +216,7 @@ nvc0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NVC0_DMA_CONF0_ENABLE | 0xfe,
> @@ -228,7 +228,7 @@ nvc0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NVC0_DMA_CONF0_ENABLE | 0xfe,
> @@ -246,7 +246,7 @@ nvd0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NVD0_DMA_CONF0_ENABLE |
> @@ -259,7 +259,7 @@ nvd0_dmac_create_fbdma(struct nouveau_object *core, u32 parent)
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> .conf0 = NVD0_DMA_CONF0_ENABLE | 0xfe |
> @@ -316,7 +316,7 @@ nv50_dmac_create(struct nouveau_object *core, u32 bclass, u8 head,
> NV_DMA_IN_MEMORY_CLASS,
> &(struct nv_dma_class) {
> .flags = NV_DMA_TARGET_VRAM |
> - NV_DMA_ACCESS_RDWR,
> + NV_DMA_ACCESS_RD,
> .start = 0,
> .limit = pfb->ram->size - 1,
> }, sizeof(struct nv_dma_class), &object);
> --
> 1.8.3.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-09-04 3:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-02 14:31 [PATCH] drm/nv50-: make dma-objects read-only where appropriate Maarten Lankhorst
[not found] ` <1378132283-19536-1-git-send-email-maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2013-09-04 3:23 ` Ben Skeggs
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).