Lines Matching refs:dpmsg
904 anxdp_dp_aux_transfer(struct drm_dp_aux *dpaux, struct drm_dp_aux_msg *dpmsg) in anxdp_dp_aux_transfer() argument
916 val = AUX_LENGTH(dpmsg->size); in anxdp_dp_aux_transfer()
917 if ((dpmsg->request & DP_AUX_I2C_MOT) != 0) in anxdp_dp_aux_transfer()
920 switch (dpmsg->request & ~DP_AUX_I2C_MOT) { in anxdp_dp_aux_transfer()
936 AUX_ADDR_7_0(dpmsg->address)); in anxdp_dp_aux_transfer()
938 AUX_ADDR_15_8(dpmsg->address)); in anxdp_dp_aux_transfer()
940 AUX_ADDR_19_16(dpmsg->address)); in anxdp_dp_aux_transfer()
942 if (!(dpmsg->request & DP_AUX_I2C_READ)) { in anxdp_dp_aux_transfer()
943 for (i = 0; i < dpmsg->size; i++) { in anxdp_dp_aux_transfer()
946 ((const uint8_t *)(dpmsg->buffer))[i]); in anxdp_dp_aux_transfer()
953 AUX_EN | ((dpmsg->size == 0) ? ADDR_ONLY : 0)); in anxdp_dp_aux_transfer()
996 if ((dpmsg->request & DP_AUX_I2C_READ)) { in anxdp_dp_aux_transfer()
997 for (i = 0; i < dpmsg->size; i++) { in anxdp_dp_aux_transfer()
1000 ((uint8_t *)(dpmsg->buffer))[i] = val & 0xffU; in anxdp_dp_aux_transfer()
1007 dpmsg->reply = DP_AUX_NATIVE_REPLY_DEFER; in anxdp_dp_aux_transfer()
1009 dpmsg->reply = DP_AUX_I2C_REPLY_DEFER; in anxdp_dp_aux_transfer()
1010 else if ((dpmsg->request & ~DP_AUX_I2C_MOT) == DP_AUX_I2C_WRITE || in anxdp_dp_aux_transfer()
1011 (dpmsg->request & ~DP_AUX_I2C_MOT) == DP_AUX_I2C_READ) in anxdp_dp_aux_transfer()
1012 dpmsg->reply = DP_AUX_I2C_REPLY_ACK; in anxdp_dp_aux_transfer()
1013 else if ((dpmsg->request & ~DP_AUX_I2C_MOT) == DP_AUX_NATIVE_WRITE || in anxdp_dp_aux_transfer()
1014 (dpmsg->request & ~DP_AUX_I2C_MOT) == DP_AUX_NATIVE_READ) in anxdp_dp_aux_transfer()
1015 dpmsg->reply = DP_AUX_NATIVE_REPLY_ACK; in anxdp_dp_aux_transfer()