dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [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).