summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 01ace5b)
raw | patch | inline | side by side (parent: 01ace5b)
author | David Sin <davidsin@ti.com> | |
Mon, 24 Dec 2012 13:14:43 +0000 (15:14 +0200) | ||
committer | Praneeth Bajjuri <praneeth@ti.com> | |
Fri, 12 Jul 2013 22:45:13 +0000 (17:45 -0500) |
Change-Id: If573d2ea6f0d6e858e2dae94a629458d2d767cc5
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
include/linux/bltsville.h | patch | blob | history | |
include/linux/bvbuffdesc.h | patch | blob | history | |
include/linux/bvcache.h | [new file with mode: 0644] | patch | blob |
include/linux/bventry.h | patch | blob | history | |
include/linux/bverror.h | patch | blob | history | |
include/linux/bvsurfgeom.h | patch | blob | history |
index 88f72476f1ab540852957e49e615309d3c5a3aa3..97c0ecad32e28c153e7dfe329cc2d2b0d79babab 100644 (file)
#include "bvblend.h"
#include "bvfilter.h"
#include "bvbuffdesc.h"
+#include "bvcache.h"
#include "bventry.h"
#include "bvsurfgeom.h"
#define BVFLAG_SCALE_RETURN 0x00100000 /* return scale type used */
#define BVFLAG_DITHER_RETURN 0x00200000 /* return dither type used */
-/**** Bits 31-22 reserved ****/
+
+
+#define BVFLAG_SRC2_AUXDSTRECT 0x00400000 /* src2auxdstrect used */
+#define BVFLAG_MASK_AUXDSTRECT 0x00800000 /* maskauxdstrect used */
+/**** Bits 31-24 reserved ****/
/*
* BVIMPL_* - BLTsville implementations may be combined under managers to
#define BVSCALEDEF_IMPLICIT (0 << BVSCALEDEF_CLASS_SHIFT)
#define BVSCALEDEF_EXPLICIT (1 << BVSCALEDEF_CLASS_SHIFT)
/* 2-3 reserved */
-#define BVSCALEDEF_CLASS_MASK (3 << BVSCALEDEF_CLASS_MASK)
+#define BVSCALEDEF_CLASS_MASK (3 << BVSCALEDEF_CLASS_SHIFT)
/**** IMPLICIT definitions ****/
/*** Bits 21-16 indicate the quality (speed) desired ***/
#define BVSCALEDEF_GOOD (0x15 << BVSCALEDEF_QUALITY_SHIFT)
#define BVSCALEDEF_BETTER (0x2A << BVSCALEDEF_QUALITY_SHIFT)
#define BVSCALEDEF_BEST (0x3F << BVSCALEDEF_QUALITY_SHIFT)
-#define BVSCALEDEF_QUALITY_MASK (0x3F << BVSCALEDEF_QUALITY_MASK)
+#define BVSCALEDEF_QUALITY_MASK (0x3F << BVSCALEDEF_QUALITY_SHIFT)
/* Bits 15-12 are reserved */
/*** Bits 11-8 indicate the desired technique ***/
#define BVSCALEDEF_TECHNIQUE_SHIFT 8
#define BVSCALEDEF_PHOTO (1 << BVSCALEDEF_TYPE_SHIFT)
#define BVSCALEDEF_DRAWING (2 << BVSCALEDEF_TYPE_SHIFT)
/* 3 reserved */
-#define BVSCALEDEF_TYPE_MASK (3 << BVSCALEDEF_TYPE_MASK)
+#define BVSCALEDEF_TYPE_MASK (3 << BVSCALEDEF_TYPE_SHIFT)
/**** EXPLICIT definitions ****/
/* Bits 21-16 reserved */
error; handle contains
callbackdata below */
unsigned long callbackdata; /* (i) callback data */
+
+ struct bvrect src2auxdstrect;
+ struct bvrect maskauxdstrect;
};
#endif /* BLTSVILLE_H */
index 543b5d12bf54d72cf20b5f400c0beff70eb05b5d..8dab36f473c057884d3ade223e9383eea382fc48 100644 (file)
*/
struct bvbuffmap;
+#define BVATDEF_VENDOR_SHIFT 24
+#define BVATDEF_VENDOR_MASK (0xFF << BVATDEF_VENDOR_SHIFT)
+
+/* Common aux type */
+#define BVATDEF_VENDOR_ALL (0x00 << BVATDEF_VENDOR_SHIFT)
+
+/* Texas Instruments, Inc. */
+#define BVATDEF_VENDOR_TI (0x01 << BVATDEF_VENDOR_SHIFT)
+
+enum bvauxtype {
+ BVAT_NONE = 0, /* auxptr not used */
+ BVAT_PHYSDESC = /* handle points to bvphysdesc struct */
+ BVATDEF_VENDOR_ALL + 1,
+
+#ifdef BVAT_EXTERNAL_INCLUDE
+#include BVAT_EXTERNAL_INCLUDE
+#endif
+};
+
+
+struct bvphysdesc {
+ unsigned int structsize; /* used to identify struct version */
+ unsigned long pagesize; /* page size in bytes */
+ unsigned long *pagearray; /* array of physical pages */
+ unsigned int pagecount; /* number of pages in the pagearray */
+ unsigned long pageoffset; /* page offset in bytes */
+};
+
/*
* bvbuffdesc - This structure is used to specify the buffer parameters
* in a call to bv_map().
void *virtaddr; /* virtual ptr to start of buffer */
unsigned long length; /* length of the buffer in bytes */
struct bvbuffmap *map; /* resource(s) associated w/buffer */
- unsigned long pagesize; /* page size in bytes */
- unsigned long *pagearray; /* array of physical page addresses */
- unsigned int pagecount; /* number of pages in the page array */
- unsigned long pageoffset; /* page offset in bytes */
+ enum bvauxtype auxtype; /* type of auxptr */
+ void *auxptr; /* additional buffer description data;
+ type depends on auxtype */
};
#endif /* BVBUFFDESC_H */
diff --git a/include/linux/bvcache.h b/include/linux/bvcache.h
--- /dev/null
+++ b/include/linux/bvcache.h
@@ -0,0 +1,44 @@
+/*
+ * bvcache.h
+ *
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * This package is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef BVCACHE_H_
+#define BVCACHE_H_
+
+/* Forward declarations */
+struct bvbuffdesc;
+struct bvsurfgeom;
+struct bvrect;
+
+/*
+ * This defines which cache operation the user intends to use
+ * BVCACHE_CPU_TO_DEVICE = clean
+ * BVCACHE_CPU_FROM_DEVICE = invalidate
+ * BVCACHE_BIDIRECTIONAL = flush
+ */
+enum bvcacheop {
+ BVCACHE_BIDIRECTIONAL = 0,
+ BVCACHE_CPU_TO_DEVICE = 1,
+ BVCACHE_CPU_FROM_DEVICE = 2,
+ BVCACHE_RESERVED3 = 3,
+};
+
+struct bvcopparams {
+ unsigned int structsize; /* used to identify struct version */
+ struct bvbuffdesc *desc;
+ struct bvsurfgeom *geom;
+ struct bvrect *rect;
+ enum bvcacheop cacheop;
+};
+
+#endif /* BVCACHE_H_ */
index d26fec9a0c26843387a7b30e80a00f96bcb58149..272c0e673d90340464e032f40d05d845678133ad 100644 (file)
--- a/include/linux/bventry.h
+++ b/include/linux/bventry.h
/* Forward declarations */
struct bvbuffdesc;
struct bvbltparams;
-
+struct bvcopparams;
/*
* BLTsville interface definition.
*/
typedef enum bverror (*BVFN_MAP) (struct bvbuffdesc *buffdesc);
typedef enum bverror (*BVFN_UNMAP) (struct bvbuffdesc *buffdesc);
typedef enum bverror (*BVFN_BLT) (struct bvbltparams *bltparams);
+typedef enum bverror (*BVFN_CACHE)(struct bvcopparams *copparams);
struct bventry {
+ unsigned int structsize; /* used to identify struct version */
BVFN_MAP bv_map;
BVFN_UNMAP bv_unmap;
BVFN_BLT bv_blt;
+ BVFN_CACHE bv_cache;
};
#endif /* BVENTRY_H */
index 3aa29779e320fb3a24b4844ff90a89e066f0e2f6..63abc703b40cd1739ad65e7e0b2082beb4619304 100644 (file)
--- a/include/linux/bverror.h
+++ b/include/linux/bverror.h
BVERR_MEMORY_ERROR = /* async operation triggered memory error */
BVERRDEF_VENDOR_ALL + 51000,
+ BVERR_FORMAT = /* unsupported format */
+ BVERRDEF_VENDOR_ALL + 52000,
+
+ BVERR_CACHEOP = /* unsupported cache operation */
+ BVERRDEF_VENDOR_ALL + 60000,
+
#ifdef BVERR_EXTERNAL_INCLUDE
#include BVERR_EXTERNAL_INCLUDE
#endif
index 924e45a65c24dd0a82f60a2ff6ca9826e3db7791..ef0ea2bc6d9d7ea66787c5cd70bbff9e4afb6987 100644 (file)
paletteformat; only valid when
format includes BVFMTDEF_LUT;
number of entries is 2^bpp. */
- long physstride; /* distance from one pixel to the
- pixel immediately below it in
- physical address space */
};
#endif /* BVSURFGEOM_H */