本文整理匯總了C++中DSI_HDR_VC函數的典型用法代碼示例。如果您正苦於以下問題:C++ DSI_HDR_VC函數的具體用法?C++ DSI_HDR_VC怎麽用?C++ DSI_HDR_VC使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了DSI_HDR_VC函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: mdss_dsi_peripheral_on
static int mdss_dsi_peripheral_on(struct dsi_buf *dp, struct dsi_cmd_desc *cm)
{
struct dsi_ctrl_hdr *dchdr;
u32 *hp;
dchdr = &cm->dchdr;
mdss_dsi_buf_reserve_hdr(dp, DSI_HOST_HDR_SIZE);
hp = dp->hdr;
*hp = 0;
*hp |= DSI_HDR_VC(dchdr->vc);
*hp |= DSI_HDR_DTYPE(DTYPE_PERIPHERAL_ON);
if (dchdr->last)
*hp |= DSI_HDR_LAST;
mdss_dsi_buf_push(dp, DSI_HOST_HDR_SIZE);
return DSI_HOST_HDR_SIZE; /* 4 bytes */
}
示例2: mdss_dsi_cm_off
static int mdss_dsi_cm_off(struct dsi_buf *dp, struct dsi_cmd_desc *cm)
{
struct dsi_ctrl_hdr *dchdr;
u32 *hp;
dchdr = &cm->dchdr;
mdss_dsi_buf_reserve_hdr(dp, DSI_HOST_HDR_SIZE);
hp = dp->hdr;
*hp = 0;
*hp |= DSI_HDR_VC(dchdr->vc);
*hp |= DSI_HDR_DTYPE(DTYPE_CM_OFF);
if (dchdr->last)
*hp |= DSI_HDR_LAST;
mdss_dsi_buf_push(dp, DSI_HOST_HDR_SIZE);
return dp->len; /* 4 bytes */
}
示例3: mdss_dsi_null_pkt
static int mdss_dsi_null_pkt(struct dsi_buf *dp, struct dsi_cmd_desc *cm)
{
struct dsi_ctrl_hdr *dchdr;
u32 *hp;
dchdr = &cm->dchdr;
mdss_dsi_buf_reserve_hdr(dp, DSI_HOST_HDR_SIZE);
hp = dp->hdr;
*hp = 0;
*hp = DSI_HDR_WC(dchdr->dlen);
*hp |= DSI_HDR_LONG_PKT;
*hp |= DSI_HDR_VC(dchdr->vc);
*hp |= DSI_HDR_DTYPE(DTYPE_NULL_PKT);
if (dchdr->last)
*hp |= DSI_HDR_LAST;
mdss_dsi_buf_push(dp, DSI_HOST_HDR_SIZE);
return DSI_HOST_HDR_SIZE; /* 4 bytes */
}
示例4: mdss_dsi_dcs_lwrite
/*
* mipi dsi dcs long write
*/
static int mdss_dsi_dcs_lwrite(struct dsi_buf *dp, struct dsi_cmd_desc *cm)
{
struct dsi_ctrl_hdr *dchdr;
char *bp;
u32 *hp;
int i, len = 0;
dchdr = &cm->dchdr;
bp = mdss_dsi_buf_reserve_hdr(dp, DSI_HOST_HDR_SIZE);
/*
* fill up payload
* dcs command byte (first byte) followed by payload
*/
if (cm->payload) {
len = dchdr->dlen;
len += 3;
len &= ~0x03; /* multipled by 4 */
for (i = 0; i < dchdr->dlen; i++)
*bp++ = cm->payload[i];
/* append 0xff to the end */
for (; i < len; i++)
*bp++ = 0xff;
dp->len += len;
}
/* fill up header */
hp = dp->hdr;
*hp = 0;
*hp = DSI_HDR_WC(dchdr->dlen);
*hp |= DSI_HDR_VC(dchdr->vc);
*hp |= DSI_HDR_LONG_PKT;
*hp |= DSI_HDR_DTYPE(DTYPE_DCS_LWRITE);
if (dchdr->last)
*hp |= DSI_HDR_LAST;
mdss_dsi_buf_push(dp, DSI_HOST_HDR_SIZE);
len += DSI_HOST_HDR_SIZE;
return len;
}
示例5: mdss_dsi_generic_swrite
/*
* mipi dsi generic short write with 0, 1 2 parameters
*/
static int mdss_dsi_generic_swrite(struct dsi_buf *dp, struct dsi_cmd_desc *cm)
{
struct dsi_ctrl_hdr *dchdr;
u32 *hp;
int len;
dchdr = &cm->dchdr;
if (dchdr->dlen && cm->payload == 0) {
pr_err("%s: NO payload error\n", __func__);
return 0;
}
mdss_dsi_buf_reserve_hdr(dp, DSI_HOST_HDR_SIZE);
hp = dp->hdr;
*hp = 0;
*hp |= DSI_HDR_VC(dchdr->vc);
if (dchdr->last)
*hp |= DSI_HDR_LAST;
len = (dchdr->dlen > 2) ? 2 : dchdr->dlen;
if (len == 1) {
*hp |= DSI_HDR_DTYPE(DTYPE_GEN_WRITE1);
*hp |= DSI_HDR_DATA1(cm->payload[0]);
*hp |= DSI_HDR_DATA2(0);
} else if (len == 2) {
*hp |= DSI_HDR_DTYPE(DTYPE_GEN_WRITE2);
*hp |= DSI_HDR_DATA1(cm->payload[0]);
*hp |= DSI_HDR_DATA2(cm->payload[1]);
} else {
*hp |= DSI_HDR_DTYPE(DTYPE_GEN_WRITE);
*hp |= DSI_HDR_DATA1(0);
*hp |= DSI_HDR_DATA2(0);
}
mdss_dsi_buf_push(dp, DSI_HOST_HDR_SIZE);
return dp->len; /* 4 bytes */
}
示例6: mipi_dsi_lwrite
/*
* mipi dsi long write
* Write to GEN_PLD_DATA 32 bit register the value:
* Data3[31:24], Data2[23:16], Data1[15:8], MCS_command[7:0]
* If need write again to GEN_PLD_DATA 32 bit register the value:
* Data7[31:24], Data6[23:16], Data5[15:8], Data4[7:0]
*
* Write to GEN_HDR 24 bit register the value: WC[23:8] ,VC[7:6],29h
*/
int mipi_dsi_lwrite(struct dsi_cmd_desc *cm)
{
u32 hdr = 0;
int i = 0;
if (cm->dlen && cm->payload == 0) {
k3fb_loge("NO payload error!\n");
return 0;
}
/* fill up payload */
for (i = 0; i < cm->dlen; i += 4) {
set_MIPIDSI_GEN_PLD_DATA(*((u32 *)(cm->payload + i)));
}
/* fill up header */
hdr |= DSI_HDR_DTYPE(cm->dtype);
hdr |= DSI_HDR_VC(cm->vc);
hdr |= DSI_HDR_WC(cm->dlen);
set_MIPIDSI_GEN_HDR(hdr);
return cm->dlen;
}