[ 3.8.y.z extended stable ] Patch "drm/radeon: align VM PTBs (Page Table Blocks) to 32K" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Thu Jul 25 19:43:32 UTC 2013


On Thu, 2013-07-25 at 19:34 +0000, Deucher, Alexander wrote:
> Please drop this patch for stable.  It requires an additional patch
> which is still queued for 3.11 to function properly.  I'll send an
> updated patch for stable trees later.
> 
> Alex


Dropped from linux-3.8.y-queue.  Thanks, Alex!

 -Kamal


> > -----Original Message-----
> > From: Kamal Mostafa [mailto:kamal at canonical.com]
> > Sent: Thursday, July 25, 2013 3:29 PM
> > To: Deucher, Alexander
> > Cc: Koenig, Christian; Kamal Mostafa; kernel-team at lists.ubuntu.com
> > Subject: [ 3.8.y.z extended stable ] Patch "drm/radeon: align VM PTBs (Page
> > Table Blocks) to 32K" has been added to staging queue
> > 
> > This is a note to let you know that I have just added a patch titled
> > 
> >     drm/radeon: align VM PTBs (Page Table Blocks) to 32K
> > 
> > to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
> > which can be found at:
> > 
> > 
> > http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/l
> > inux-3.8.y-queue
> > 
> > This patch is scheduled to be released in version 3.8.13.6.
> > 
> > If you, or anyone else, feels it should not be added to this tree, please
> > reply to this email.
> > 
> > For more information about the 3.8.y.z tree, see
> > https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
> > 
> > Thanks.
> > -Kamal
> > 
> > ------
> > 
> > From 1b7f912462764e33f28081af8c5dd347de8d4f78 Mon Sep 17 00:00:00
> > 2001
> > From: Alex Deucher <alexander.deucher at amd.com>
> > Date: Fri, 12 Jul 2013 15:56:02 -0400
> > Subject: drm/radeon: align VM PTBs (Page Table Blocks) to 32K
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=UTF-8
> > Content-Transfer-Encoding: 8bit
> > 
> > commit 1c01103cb90197900beb534911de558d7a43d0b3 upstream.
> > 
> > Covers requirements of all current asics.
> > 
> > Reviewed-by: Christian König <christian.koenig at amd.com>
> > Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> > Signed-off-by: Kamal Mostafa <kamal at canonical.com>
> > ---
> >  drivers/gpu/drm/radeon/radeon.h      |  5 +++++
> >  drivers/gpu/drm/radeon/radeon_gart.c | 12 ++++++------
> >  2 files changed, 11 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/radeon/radeon.h
> > b/drivers/gpu/drm/radeon/radeon.h
> > index aa2d2e2..5fa9174 100644
> > --- a/drivers/gpu/drm/radeon/radeon.h
> > +++ b/drivers/gpu/drm/radeon/radeon.h
> > @@ -673,6 +673,11 @@ struct radeon_ring {
> >  /* number of entries in page table */
> >  #define RADEON_VM_PTE_COUNT (1 << RADEON_VM_BLOCK_SIZE)
> > 
> > +/* PTBs (Page Table Blocks) need to be aligned to 32K */
> > +#define RADEON_VM_PTB_ALIGN_SIZE   32768
> > +#define RADEON_VM_PTB_ALIGN_MASK (RADEON_VM_PTB_ALIGN_SIZE
> > - 1)
> > +#define RADEON_VM_PTB_ALIGN(a) (((a) +
> > RADEON_VM_PTB_ALIGN_MASK) & ~RADEON_VM_PTB_ALIGN_MASK)
> > +
> >  struct radeon_vm {
> >  	struct list_head		list;
> >  	struct list_head		va;
> > diff --git a/drivers/gpu/drm/radeon/radeon_gart.c
> > b/drivers/gpu/drm/radeon/radeon_gart.c
> > index dfa0ca1..97709ce 100644
> > --- a/drivers/gpu/drm/radeon/radeon_gart.c
> > +++ b/drivers/gpu/drm/radeon/radeon_gart.c
> > @@ -466,8 +466,8 @@ int radeon_vm_manager_init(struct radeon_device
> > *rdev)
> >  		size += rdev->vm_manager.max_pfn * 8;
> >  		size *= 2;
> >  		r = radeon_sa_bo_manager_init(rdev, &rdev-
> > >vm_manager.sa_manager,
> > -
> > RADEON_GPU_PAGE_ALIGN(size),
> > -					      RADEON_GPU_PAGE_SIZE,
> > +					      RADEON_VM_PTB_ALIGN(size),
> > +					      RADEON_VM_PTB_ALIGN_SIZE,
> >  					      RADEON_GEM_DOMAIN_VRAM);
> >  		if (r) {
> >  			dev_err(rdev->dev, "failed to allocate vm bo
> > (%dKB)\n",
> > @@ -621,10 +621,10 @@ int radeon_vm_alloc_pt(struct radeon_device
> > *rdev, struct radeon_vm *vm)
> >  	}
> > 
> >  retry:
> > -	pd_size =
> > RADEON_GPU_PAGE_ALIGN(radeon_vm_directory_size(rdev));
> > +	pd_size =
> > RADEON_VM_PTB_ALIGN(radeon_vm_directory_size(rdev));
> >  	r = radeon_sa_bo_new(rdev, &rdev->vm_manager.sa_manager,
> >  			     &vm->page_directory, pd_size,
> > -			     RADEON_GPU_PAGE_SIZE, false);
> > +			     RADEON_VM_PTB_ALIGN_SIZE, false);
> >  	if (r == -ENOMEM) {
> >  		r = radeon_vm_evict(rdev, vm);
> >  		if (r)
> > @@ -952,8 +952,8 @@ static int radeon_vm_update_pdes(struct
> > radeon_device *rdev,
> >  retry:
> >  		r = radeon_sa_bo_new(rdev, &rdev-
> > >vm_manager.sa_manager,
> >  				     &vm->page_tables[pt_idx],
> > -				     RADEON_VM_PTE_COUNT * 8,
> > -				     RADEON_GPU_PAGE_SIZE, false);
> > +
> > RADEON_VM_PTB_ALIGN(RADEON_VM_PTE_COUNT * 8),
> > +				     RADEON_VM_PTB_ALIGN_SIZE, false);
> > 
> >  		if (r == -ENOMEM) {
> >  			r = radeon_vm_evict(rdev, vm);
> > --
> > 1.8.1.2
> > 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20130725/2ea45a3d/attachment.sig>


More information about the kernel-team mailing list