2021-10-26 14:16:21 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
|
|
|
|
#include <dp_aux.h>
|
|
|
|
|
|
|
|
bool dp_aux_request_is_write(enum aux_request request)
|
|
|
|
{
|
|
|
|
switch (request) {
|
|
|
|
case I2C_RAW_WRITE_AND_STOP:
|
|
|
|
case I2C_RAW_WRITE:
|
|
|
|
case DPCD_WRITE:
|
|
|
|
return true;
|
|
|
|
default:
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
enum i2c_over_aux dp_get_aux_cmd(enum aux_request request, uint32_t remaining_after_this)
|
|
|
|
{
|
|
|
|
switch (request) {
|
|
|
|
case I2C_RAW_WRITE_AND_STOP:
|
|
|
|
if (!remaining_after_this)
|
|
|
|
return I2C_OVER_AUX_WRITE_MOT_0;
|
2021-03-15 14:56:16 +01:00
|
|
|
__fallthrough;
|
2021-10-26 14:16:21 +02:00
|
|
|
case I2C_RAW_WRITE:
|
|
|
|
return I2C_OVER_AUX_WRITE_MOT_1;
|
|
|
|
case I2C_RAW_READ_AND_STOP:
|
|
|
|
if (!remaining_after_this)
|
|
|
|
return I2C_OVER_AUX_READ_MOT_0;
|
2021-03-15 14:56:16 +01:00
|
|
|
__fallthrough;
|
2021-10-26 14:16:21 +02:00
|
|
|
case I2C_RAW_READ:
|
|
|
|
return I2C_OVER_AUX_READ_MOT_1;
|
|
|
|
case DPCD_WRITE:
|
|
|
|
return NATIVE_AUX_WRITE;
|
|
|
|
case DPCD_READ:
|
|
|
|
default:
|
|
|
|
return NATIVE_AUX_READ;
|
|
|
|
}
|
|
|
|
}
|