gpu: ipu-cpmem: Add ipu_cpmem_set_rotation()
Adds ipu_cpmem_set_rotation(). Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This commit is contained in:
parent
555f0e6690
commit
c42d37ca42
@ -64,6 +64,7 @@ struct ipu_cpmem {
|
|||||||
#define IPU_FIELD_BNDM IPU_CPMEM_WORD(0, 114, 3)
|
#define IPU_FIELD_BNDM IPU_CPMEM_WORD(0, 114, 3)
|
||||||
#define IPU_FIELD_BM IPU_CPMEM_WORD(0, 117, 2)
|
#define IPU_FIELD_BM IPU_CPMEM_WORD(0, 117, 2)
|
||||||
#define IPU_FIELD_ROT IPU_CPMEM_WORD(0, 119, 1)
|
#define IPU_FIELD_ROT IPU_CPMEM_WORD(0, 119, 1)
|
||||||
|
#define IPU_FIELD_ROT_HF_VF IPU_CPMEM_WORD(0, 119, 3)
|
||||||
#define IPU_FIELD_HF IPU_CPMEM_WORD(0, 120, 1)
|
#define IPU_FIELD_HF IPU_CPMEM_WORD(0, 120, 1)
|
||||||
#define IPU_FIELD_VF IPU_CPMEM_WORD(0, 121, 1)
|
#define IPU_FIELD_VF IPU_CPMEM_WORD(0, 121, 1)
|
||||||
#define IPU_FIELD_THE IPU_CPMEM_WORD(0, 122, 1)
|
#define IPU_FIELD_THE IPU_CPMEM_WORD(0, 122, 1)
|
||||||
@ -273,6 +274,15 @@ void ipu_cpmem_set_block_mode(struct ipuv3_channel *ch)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(ipu_cpmem_set_block_mode);
|
EXPORT_SYMBOL_GPL(ipu_cpmem_set_block_mode);
|
||||||
|
|
||||||
|
void ipu_cpmem_set_rotation(struct ipuv3_channel *ch,
|
||||||
|
enum ipu_rotate_mode rot)
|
||||||
|
{
|
||||||
|
u32 temp_rot = bitrev8(rot) >> 5;
|
||||||
|
|
||||||
|
ipu_ch_param_write_field(ch, IPU_FIELD_ROT_HF_VF, temp_rot);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(ipu_cpmem_set_rotation);
|
||||||
|
|
||||||
int ipu_cpmem_set_format_rgb(struct ipuv3_channel *ch,
|
int ipu_cpmem_set_format_rgb(struct ipuv3_channel *ch,
|
||||||
const struct ipu_rgb *rgb)
|
const struct ipu_rgb *rgb)
|
||||||
{
|
{
|
||||||
|
@ -197,6 +197,8 @@ void ipu_cpmem_interlaced_scan(struct ipuv3_channel *ch, int stride);
|
|||||||
void ipu_cpmem_set_axi_id(struct ipuv3_channel *ch, u32 id);
|
void ipu_cpmem_set_axi_id(struct ipuv3_channel *ch, u32 id);
|
||||||
void ipu_cpmem_set_burstsize(struct ipuv3_channel *ch, int burstsize);
|
void ipu_cpmem_set_burstsize(struct ipuv3_channel *ch, int burstsize);
|
||||||
void ipu_cpmem_set_block_mode(struct ipuv3_channel *ch);
|
void ipu_cpmem_set_block_mode(struct ipuv3_channel *ch);
|
||||||
|
void ipu_cpmem_set_rotation(struct ipuv3_channel *ch,
|
||||||
|
enum ipu_rotate_mode rot);
|
||||||
int ipu_cpmem_set_format_rgb(struct ipuv3_channel *ch,
|
int ipu_cpmem_set_format_rgb(struct ipuv3_channel *ch,
|
||||||
const struct ipu_rgb *rgb);
|
const struct ipu_rgb *rgb);
|
||||||
int ipu_cpmem_set_format_passthrough(struct ipuv3_channel *ch, int width);
|
int ipu_cpmem_set_format_passthrough(struct ipuv3_channel *ch, int width);
|
||||||
|
Loading…
Reference in New Issue
Block a user