Re: [PATCH v2 6/7] drm/ast: Remove vram_fb_available from struct ast_device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/03/2025 17:30, Thomas Zimmermann wrote:
Helpers compute the offset and size of the available framebuffer
memory. Remove the obsolete field vram_fb_available from struct
ast_device. Also define the cursor-signature size next to its only
user.

Thanks, it looks good to me.

Reviewed-by: Jocelyn Falempe <jfalempe@xxxxxxxxxx>


v2:
- initialize plane size

Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
---
  drivers/gpu/drm/ast/ast_cursor.c | 18 ++++--------------
  drivers/gpu/drm/ast/ast_drv.h    |  4 ----
  drivers/gpu/drm/ast/ast_mm.c     |  1 -
  3 files changed, 4 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_cursor.c b/drivers/gpu/drm/ast/ast_cursor.c
index 05e297f30b4e..cb0c48d47207 100644
--- a/drivers/gpu/drm/ast/ast_cursor.c
+++ b/drivers/gpu/drm/ast/ast_cursor.c
@@ -37,6 +37,7 @@
   */
/* define for signature structure */
+#define AST_HWC_SIGNATURE_SIZE		SZ_32
  #define AST_HWC_SIGNATURE_CHECKSUM	0x00
  #define AST_HWC_SIGNATURE_SizeX		0x04
  #define AST_HWC_SIGNATURE_SizeY		0x08
@@ -289,25 +290,16 @@ int ast_cursor_plane_init(struct ast_device *ast)
  	struct ast_cursor_plane *ast_cursor_plane = &ast->cursor_plane;
  	struct ast_plane *ast_plane = &ast_cursor_plane->base;
  	struct drm_plane *cursor_plane = &ast_plane->base;
-	size_t size;
+	unsigned long size;
  	void __iomem *vaddr;
  	long offset;
  	int ret;
- /*
-	 * Allocate backing storage for cursors. The BOs are permanently
-	 * pinned to the top end of the VRAM.
-	 */
-
-	size = roundup(AST_HWC_SIZE + AST_HWC_SIGNATURE_SIZE, PAGE_SIZE);
-
-	if (ast->vram_fb_available < size)
-		return -ENOMEM;
-
-	vaddr = ast->vram + ast->vram_fb_available - size;
+	size = ast_cursor_vram_size();
  	offset = ast_cursor_vram_offset(ast);
  	if (offset < 0)
  		return offset;
+	vaddr = ast->vram + offset;
ret = ast_plane_init(dev, ast_plane, vaddr, offset, size,
  			     0x01, &ast_cursor_plane_funcs,
@@ -320,7 +312,5 @@ int ast_cursor_plane_init(struct ast_device *ast)
  	drm_plane_helper_add(cursor_plane, &ast_cursor_plane_helper_funcs);
  	drm_plane_enable_fb_damage_clips(cursor_plane);
- ast->vram_fb_available -= size;
-
  	return 0;
  }
diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
index ec9ec77260e9..d9da2328d46b 100644
--- a/drivers/gpu/drm/ast/ast_drv.h
+++ b/drivers/gpu/drm/ast/ast_drv.h
@@ -112,12 +112,9 @@ enum ast_config_mode {
#define AST_MAX_HWC_WIDTH 64
  #define AST_MAX_HWC_HEIGHT	64
-
  #define AST_HWC_PITCH		(AST_MAX_HWC_WIDTH * SZ_2)
  #define AST_HWC_SIZE		(AST_MAX_HWC_HEIGHT * AST_HWC_PITCH)
-#define AST_HWC_SIGNATURE_SIZE 32
-
  /*
   * Planes
   */
@@ -183,7 +180,6 @@ struct ast_device {
  	void __iomem	*vram;
  	unsigned long	vram_base;
  	unsigned long	vram_size;
-	unsigned long	vram_fb_available;
struct mutex modeset_lock; /* Protects access to modeset I/O registers in ioregs */ diff --git a/drivers/gpu/drm/ast/ast_mm.c b/drivers/gpu/drm/ast/ast_mm.c
index 3d03ef556d0a..0bc140319464 100644
--- a/drivers/gpu/drm/ast/ast_mm.c
+++ b/drivers/gpu/drm/ast/ast_mm.c
@@ -92,7 +92,6 @@ int ast_mm_init(struct ast_device *ast)
ast->vram_base = base;
  	ast->vram_size = vram_size;
-	ast->vram_fb_available = vram_size;
return 0;
  }




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux