Lines Matching refs:msg
105 struct drm_dp_aux_msg *msg) in tegra_dpaux_transfer() argument
114 if (msg->size > 16) in tegra_dpaux_transfer()
121 if (msg->size < 1) { in tegra_dpaux_transfer()
122 switch (msg->request & ~DP_AUX_I2C_MOT) { in tegra_dpaux_transfer()
133 value = DPAUX_DP_AUXCTL_CMDLEN(msg->size - 1); in tegra_dpaux_transfer()
136 switch (msg->request & ~DP_AUX_I2C_MOT) { in tegra_dpaux_transfer()
138 if (msg->request & DP_AUX_I2C_MOT) in tegra_dpaux_transfer()
146 if (msg->request & DP_AUX_I2C_MOT) in tegra_dpaux_transfer()
154 if (msg->request & DP_AUX_I2C_MOT) in tegra_dpaux_transfer()
173 tegra_dpaux_writel(dpaux, msg->address, DPAUX_DP_AUXADDR); in tegra_dpaux_transfer()
176 if ((msg->request & DP_AUX_I2C_READ) == 0) { in tegra_dpaux_transfer()
177 tegra_dpaux_write_fifo(dpaux, msg->buffer, msg->size); in tegra_dpaux_transfer()
178 ret = msg->size; in tegra_dpaux_transfer()
204 msg->reply = DP_AUX_NATIVE_REPLY_ACK; in tegra_dpaux_transfer()
208 msg->reply = DP_AUX_NATIVE_REPLY_NACK; in tegra_dpaux_transfer()
212 msg->reply = DP_AUX_NATIVE_REPLY_DEFER; in tegra_dpaux_transfer()
216 msg->reply = DP_AUX_I2C_REPLY_NACK; in tegra_dpaux_transfer()
220 msg->reply = DP_AUX_I2C_REPLY_DEFER; in tegra_dpaux_transfer()
224 if ((msg->size > 0) && (msg->reply == DP_AUX_NATIVE_REPLY_ACK)) { in tegra_dpaux_transfer()
225 if (msg->request & DP_AUX_I2C_READ) { in tegra_dpaux_transfer()
228 if (WARN_ON(count != msg->size)) in tegra_dpaux_transfer()
229 count = min_t(size_t, count, msg->size); in tegra_dpaux_transfer()
231 tegra_dpaux_read_fifo(dpaux, msg->buffer, count); in tegra_dpaux_transfer()