}
static int
-_get_number_of_visible_windows(tdm_sprd_output_data *sprd_output)
+_get_number_of_visible_windows(tdm_sprd_output_data *output_data)
{
int number = 0;
tdm_sprd_hwc_window_data *window = NULL;
- RETURN_VAL_IF_FAIL(sprd_output, 0);
+ RETURN_VAL_IF_FAIL(output_data, 0);
- LIST_FOR_EACH_ENTRY(window, &sprd_output->hwc_window_list, link) {
+ LIST_FOR_EACH_ENTRY(window, &output_data->hwc_window_list, link) {
if (window->client_type == TDM_COMPOSITION_NONE)
continue;
tdm_sprd_layer_data * layer = NULL;
int i = HW_LAYER_NUM-1;
- tdm_sprd_hwc_window_data *hw = NULL;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
RETURN_VAL_IF_FAIL(output_data->need_validate == 0, TDM_ERROR_OPERATION_FAILED);
}
/* set hwc windows */
- LIST_FOR_EACH_ENTRY_REV(hw, &output_data->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ LIST_FOR_EACH_ENTRY_REV(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
- if (hw->client_type != TDM_COMPOSITION_DEVICE)
+ if (hwc_window_data->client_type != TDM_COMPOSITION_DEVICE)
continue;
if (i < 0)
return TDM_ERROR_OPERATION_FAILED;
layer = _sprd_output_get_layer(output_data, i--);
- _sprd_layer_attach_window(layer, hw);
+ _sprd_layer_attach_window(layer, hwc_window_data);
}
/* disable unused layer */
}
static int
-_sprd_hwc_window_is_reserved_buffer(tdm_sprd_hwc_window_data *hwc_window) {
+_sprd_hwc_window_is_reserved_buffer(tdm_sprd_hwc_window_data *hwc_window_data) {
tbm_bo bo = NULL;
int falgs = 0;
- RETURN_VAL_IF_FAIL(hwc_window != NULL, 0);
- RETURN_VAL_IF_FAIL(hwc_window->display_buffer != NULL, 0);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, 0);
+ RETURN_VAL_IF_FAIL(hwc_window_data->display_buffer != NULL, 0);
- bo = tbm_surface_internal_get_bo(hwc_window->display_buffer->buffer, 0);
+ bo = tbm_surface_internal_get_bo(hwc_window_data->display_buffer->buffer, 0);
RETURN_VAL_IF_FAIL(bo != NULL, 0);
falgs = tbm_bo_get_flags(bo);
}
tdm_error
-_sprd_output_insert_hwc_window(tdm_sprd_output_data *output, tdm_sprd_hwc_window_data *hwc_window)
+_sprd_output_insert_hwc_window(tdm_sprd_output_data *output, tdm_sprd_hwc_window_data *hwc_window_data)
{
+ tdm_sprd_hwc_window_data *item = NULL;
RETURN_VAL_IF_FAIL(output, TDM_ERROR_INVALID_PARAMETER);
- RETURN_VAL_IF_FAIL(hwc_window, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data, TDM_ERROR_INVALID_PARAMETER);
- tdm_sprd_hwc_window_data *item = NULL;
LIST_FOR_EACH_ENTRY_REV(item, &output->hwc_window_list, link) {
- if (item == hwc_window)
+ if (item == hwc_window_data)
return TDM_ERROR_OPERATION_FAILED;
- if (item->zpos <= hwc_window->zpos)
+ if (item->zpos <= hwc_window_data->zpos)
break;
}
- LIST_INSERT_AFTER(&item->link, &hwc_window->link);
+ LIST_INSERT_AFTER(&item->link, &hwc_window_data->link);
return TDM_ERROR_NONE;
}
int
-_sprd_output_get_changed_number(tdm_sprd_output_data *sprd_output)
+_sprd_output_get_changed_number(tdm_sprd_output_data *output_data)
{
int num = 0;
- tdm_sprd_hwc_window_data *hw = NULL;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
- RETURN_VAL_IF_FAIL(sprd_output, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data, TDM_ERROR_INVALID_PARAMETER);
- LIST_FOR_EACH_ENTRY(hw, &sprd_output->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ LIST_FOR_EACH_ENTRY(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
- if (hw->client_type != hw->validated_type)
+ if (hwc_window_data->client_type != hwc_window_data->validated_type)
num++;
}
return num;
tdm_hwc_window *
_sprd_output_hwc_window_create(tdm_output *output, tdm_hwc_window_info *info, tdm_error *error)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = NULL;
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
+ tdm_sprd_output_data *output_data = output;
if (error)
*error = TDM_ERROR_NONE;
- if (!sprd_output) {
+ if (!output_data) {
TDM_ERR("invalid params");
if (error)
*error = TDM_ERROR_INVALID_PARAMETER;
return NULL;
}
- sprd_hwc_window = calloc(1, sizeof(tdm_sprd_hwc_window_data));
- if (!sprd_hwc_window) {
+ hwc_window_data = calloc(1, sizeof(tdm_sprd_hwc_window_data));
+ if (!hwc_window_data) {
TDM_ERR("alloc failed");
if (error)
*error = TDM_ERROR_OUT_OF_MEMORY;
return NULL;
}
- if ((sprd_hwc_window->sprd_data = sprd_output_get_sprd_data(output)) == NULL) {
+ if ((hwc_window_data->sprd_data = sprd_output_get_sprd_data(output)) == NULL) {
TDM_ERR("invalid params");
if (error)
*error = TDM_ERROR_INVALID_PARAMETER;
goto fail;
}
- sprd_hwc_window->output_data = output;
- sprd_hwc_window->zpos = 0;
+ hwc_window_data->output_data = output;
+ hwc_window_data->zpos = 0;
if (info)
- memcpy(&sprd_hwc_window->info, info, sizeof(tdm_hwc_window_info));
+ memcpy(&hwc_window_data->info, info, sizeof(tdm_hwc_window_info));
- LIST_INITHEAD(&sprd_hwc_window->link);
+ LIST_INITHEAD(&hwc_window_data->link);
- return sprd_hwc_window;
+ return hwc_window_data;
fail:
- if (sprd_hwc_window)
- free(sprd_hwc_window);
+ if (hwc_window_data)
+ free(hwc_window_data);
return NULL;
}
tdm_hwc_window *
sprd_output_hwc_window_create(tdm_output *output, tdm_error *error)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = NULL;
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
+ tdm_sprd_output_data *output_data = output;
- RETURN_VAL_IF_FAIL(sprd_output, NULL);
+ RETURN_VAL_IF_FAIL(output_data, NULL);
- sprd_hwc_window = _sprd_output_hwc_window_create(sprd_output, NULL, error);
- RETURN_VAL_IF_FAIL(sprd_hwc_window, NULL);
+ hwc_window_data = _sprd_output_hwc_window_create(output_data, NULL, error);
+ RETURN_VAL_IF_FAIL(hwc_window_data, NULL);
- _sprd_output_insert_hwc_window(sprd_output, sprd_hwc_window);
+ _sprd_output_insert_hwc_window(output_data, hwc_window_data);
- TDM_DBG("hwc_window(%p) create", sprd_hwc_window);
+ TDM_DBG("hwc_window(%p) create", hwc_window_data);
if (error)
*error = TDM_ERROR_NONE;
- return sprd_hwc_window;
+ return hwc_window_data;
}
tdm_error
RETURN_VAL_IF_FAIL(output, TDM_ERROR_INVALID_PARAMETER);
RETURN_VAL_IF_FAIL(hwc_window, TDM_ERROR_INVALID_PARAMETER);
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data = output;
- if (sprd_output->video_hwc_window == sprd_hwc_window)
- sprd_output->video_hwc_window = NULL;
+ if (output_data->video_hwc_window == hwc_window_data)
+ output_data->video_hwc_window = NULL;
else
- LIST_DEL(&sprd_hwc_window->link);
+ LIST_DEL(&hwc_window_data->link);
- free(sprd_hwc_window);
+ free(hwc_window_data);
return TDM_ERROR_NONE;
}
tdm_error
sprd_output_hwc_validate(tdm_output *output, uint32_t *num_types)
{
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_output_data *output_data = output;
tdm_sprd_data *sprd_data = NULL;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
RETURN_VAL_IF_FAIL(num_types != NULL, TDM_ERROR_INVALID_PARAMETER);
- tdm_sprd_hwc_window_data *hw = NULL;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
int hw_layer_count = 0;
int need_target_buffer = 0;
int is_client_detected = 0;
int max_hw_layer = HW_LAYER_NUM;
- sprd_data = sprd_output->sprd_data;
+ sprd_data = output_data->sprd_data;
RETURN_VAL_IF_FAIL(sprd_data != NULL, TDM_ERROR_INVALID_PARAMETER);
tdm_sprd_layer_data * layer = NULL;
/* video_hwc_window always is set to the lowest layer (index 0) */
- if (sprd_output->video_hwc_window)
+ if (output_data->video_hwc_window)
hw_layer_count++;
- if (_get_number_of_visible_windows(sprd_output) > max_hw_layer - hw_layer_count)
+ if (_get_number_of_visible_windows(output_data) > max_hw_layer - hw_layer_count)
need_target_buffer = 1;
/* check client_type */
- LIST_FOR_EACH_ENTRY(hw, &sprd_output->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ LIST_FOR_EACH_ENTRY(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
- if (hw->client_type == TDM_COMPOSITION_DEVICE && !is_client_detected) {
- hw->validated_type = TDM_COMPOSITION_DEVICE_CANDIDATE;
+ if (hwc_window_data->client_type == TDM_COMPOSITION_DEVICE && !is_client_detected) {
+ hwc_window_data->validated_type = TDM_COMPOSITION_DEVICE_CANDIDATE;
} else {
- hw->validated_type = TDM_COMPOSITION_CLIENT;
+ hwc_window_data->validated_type = TDM_COMPOSITION_CLIENT;
need_target_buffer = 1;
is_client_detected = 1;
}
is_client_detected = 0;
/* check format and flags for DEVICE_CANDIDATE */
- LIST_FOR_EACH_ENTRY(hw, &sprd_output->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ LIST_FOR_EACH_ENTRY(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
- if (hw->validated_type == TDM_COMPOSITION_DEVICE_CANDIDATE) {
+ if (hwc_window_data->validated_type == TDM_COMPOSITION_DEVICE_CANDIDATE) {
if (is_client_detected || hw_layer_count >= max_hw_layer) {
is_client_detected = 1;
- hw->validated_type = TDM_COMPOSITION_CLIENT;
+ hwc_window_data->validated_type = TDM_COMPOSITION_CLIENT;
} else {
- layer = _sprd_output_get_layer(sprd_output, hw_layer_count);
+ layer = _sprd_output_get_layer(output_data, hw_layer_count);
/* check format */
- if (!_sprd_layer_is_supported_format(layer, hw->info.src_config.format))
- hw->validated_type = TDM_COMPOSITION_CLIENT;
- else if (!hw->display_buffer || !hw->display_buffer->buffer)
- hw->validated_type = TDM_COMPOSITION_CLIENT;
+ if (!_sprd_layer_is_supported_format(layer, hwc_window_data->info.src_config.format))
+ hwc_window_data->validated_type = TDM_COMPOSITION_CLIENT;
+ else if (!hwc_window_data->display_buffer || !hwc_window_data->display_buffer->buffer)
+ hwc_window_data->validated_type = TDM_COMPOSITION_CLIENT;
/* check buffer flags */
- else if (_sprd_hwc_window_is_reserved_buffer(hw)) {
+ else if (_sprd_hwc_window_is_reserved_buffer(hwc_window_data)) {
hw_layer_count++;
- hw->validated_type = TDM_COMPOSITION_DEVICE;
+ hwc_window_data->validated_type = TDM_COMPOSITION_DEVICE;
continue;
}
is_client_detected = 1;
if (is_client_detected)
need_target_buffer = 1;
- LIST_FOR_EACH_ENTRY(hw, &sprd_output->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ LIST_FOR_EACH_ENTRY(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
- TDM_DBG(" window(%p) type: %s -> %s", hw,
- _comp_to_str(hw->client_type), _comp_to_str(hw->validated_type));
+ TDM_DBG(" window(%p) type: %s -> %s", hwc_window_data,
+ _comp_to_str(hwc_window_data->client_type), _comp_to_str(hwc_window_data->validated_type));
}
- sprd_output->need_target_buffer = need_target_buffer;
+ output_data->need_target_buffer = need_target_buffer;
- *num_types = _sprd_output_get_changed_number(sprd_output);
+ *num_types = _sprd_output_get_changed_number(output_data);
if (*num_types == 0)
- sprd_output->need_validate = 0;
+ output_data->need_validate = 0;
return TDM_ERROR_NONE;
}
tdm_hwc_window **hwc_window,
tdm_hwc_window_composition *composition_types)
{
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_output_data *output_data = output;
int num = 0;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
RETURN_VAL_IF_FAIL(num_elements != NULL, TDM_ERROR_INVALID_PARAMETER);
if ((hwc_window == NULL) || (composition_types == NULL)) {
- *num_elements = _sprd_output_get_changed_number(sprd_output);
+ *num_elements = _sprd_output_get_changed_number(output_data);
return TDM_ERROR_NONE;
}
- tdm_sprd_hwc_window_data *hw = NULL;
- LIST_FOR_EACH_ENTRY_REV(hw, &sprd_output->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
+ LIST_FOR_EACH_ENTRY_REV(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
if (num >= *num_elements)
break;
- if (hw->client_type != hw->validated_type) {
- composition_types[num] = hw->validated_type;
- hwc_window[num] = hw;
+ if (hwc_window_data->client_type != hwc_window_data->validated_type) {
+ composition_types[num] = hwc_window_data->validated_type;
+ hwc_window[num] = hwc_window_data;
num++;
}
}
tdm_error
sprd_output_hwc_accept_changes(tdm_output *output)
{
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_output_data *output_data = output;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
- tdm_sprd_hwc_window_data *hw = NULL;
- LIST_FOR_EACH_ENTRY_REV(hw, &sprd_output->hwc_window_list, link) {
- if (hw->client_type == TDM_COMPOSITION_NONE)
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
+ LIST_FOR_EACH_ENTRY_REV(hwc_window_data, &output_data->hwc_window_list, link) {
+ if (hwc_window_data->client_type == TDM_COMPOSITION_NONE)
continue;
- hw->client_type = hw->validated_type;
+ hwc_window_data->client_type = hwc_window_data->validated_type;
}
- sprd_output->need_validate = 0;
+ output_data->need_validate = 0;
return TDM_ERROR_NONE;
}
tbm_surface_queue_h
sprd_output_hwc_get_target_buffer_queue(tdm_output *output, tdm_error *error)
{
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_output_data *output_data = output;
tbm_surface_queue_h tqueue = NULL;
if (error)
*error = TDM_ERROR_INVALID_PARAMETER;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, NULL);
+ RETURN_VAL_IF_FAIL(output_data != NULL, NULL);
- if (sprd_output->target_hwc_window == NULL) {
+ if (output_data->target_hwc_window == NULL) {
if (error)
*error = TDM_ERROR_OPERATION_FAILED;
return NULL;
}
- tqueue = sprd_hwc_window_get_tbm_buffer_queue(sprd_output->target_hwc_window, error);
+ tqueue = sprd_hwc_window_get_tbm_buffer_queue(output_data->target_hwc_window, error);
RETURN_VAL_IF_FAIL(tqueue, NULL);
if (error)
tdm_hwc_region damage, tdm_hwc_window **composited_wnds,
uint32_t num_wnds)
{
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_output_data *output_data = output;
tdm_error err;
/* TODO: as the sprd-driver currently doesn't support DEVICE to CLIENT transition.
* we silence skip 'composited_wnds' */
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
- RETURN_VAL_IF_FAIL(sprd_output->target_hwc_window != NULL, TDM_ERROR_OPERATION_FAILED);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data->target_hwc_window != NULL, TDM_ERROR_OPERATION_FAILED);
- err = sprd_hwc_window_set_buffer(sprd_output->target_hwc_window, buffer);
+ err = sprd_hwc_window_set_buffer(output_data->target_hwc_window, buffer);
RETURN_VAL_IF_FAIL(err == TDM_ERROR_NONE, err);
- err = sprd_hwc_window_set_buffer_damage(sprd_output->target_hwc_window, damage);
+ err = sprd_hwc_window_set_buffer_damage(output_data->target_hwc_window, damage);
RETURN_VAL_IF_FAIL(err == TDM_ERROR_NONE, err);
return TDM_ERROR_NONE;
tdm_hwc_window *
sprd_output_hwc_create_video_window(tdm_output *output, tdm_error *error)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = NULL;
- tdm_sprd_output_data *sprd_output = output;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
+ tdm_sprd_output_data *output_data = output;
if (error)
*error = TDM_ERROR_INVALID_PARAMETER;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, NULL);
+ RETURN_VAL_IF_FAIL(output_data != NULL, NULL);
if (error)
*error = TDM_ERROR_OPERATION_FAILED;
- if (sprd_output->video_hwc_window)
+ if (output_data->video_hwc_window)
return NULL;
- sprd_hwc_window = _sprd_output_hwc_window_create(sprd_output, NULL, error);
- if (sprd_hwc_window == NULL)
+ hwc_window_data = _sprd_output_hwc_window_create(output_data, NULL, error);
+ if (hwc_window_data == NULL)
return NULL;
- sprd_output->video_hwc_window = sprd_hwc_window;
+ output_data->video_hwc_window = hwc_window_data;
- TDM_DBG("hwc_window(%p) video create", sprd_hwc_window);
+ TDM_DBG("hwc_window(%p) video create", hwc_window_data);
if (error)
*error = TDM_ERROR_NONE;
- return sprd_hwc_window;
+ return hwc_window_data;
}
tbm_surface_queue_h
sprd_hwc_window_get_tbm_buffer_queue(tdm_hwc_window *hwc_window, tdm_error *error)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = NULL;
- tdm_sprd_output_data *sprd_output = NULL;
+ tdm_sprd_hwc_window_data *hwc_window_data = NULL;
+ tdm_sprd_output_data *output_data = NULL;
tbm_surface_queue_h tqueue = NULL;
if (error)
*error = TDM_ERROR_INVALID_PARAMETER;
RETURN_VAL_IF_FAIL(hwc_window != NULL, NULL);
- sprd_hwc_window = hwc_window;
- sprd_output = sprd_hwc_window->output_data;
+ hwc_window_data = hwc_window;
+ output_data = hwc_window_data->output_data;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, NULL);
+ RETURN_VAL_IF_FAIL(output_data != NULL, NULL);
- int wight = sprd_hwc_window->info.src_config.size.h;
- int hight = sprd_hwc_window->info.src_config.size.v;
- tbm_format format = sprd_hwc_window->info.src_config.format;
+ int wight = hwc_window_data->info.src_config.size.h;
+ int hight = hwc_window_data->info.src_config.size.v;
+ tbm_format format = hwc_window_data->info.src_config.format;
tqueue = tbm_surface_queue_create(3, wight, hight, format, TBM_BO_SCANOUT);
if (error)
tdm_error
sprd_hwc_window_set_zpos(tdm_hwc_window *hwc_window, uint32_t zpos)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
RETURN_VAL_IF_FAIL(zpos < 256, TDM_ERROR_INVALID_PARAMETER);
- sprd_output = sprd_hwc_window->output_data;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ output_data = hwc_window_data->output_data;
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
- if (sprd_hwc_window->zpos == zpos)
+ if (hwc_window_data->zpos == zpos)
return TDM_ERROR_NONE;
- LIST_DEL(&sprd_hwc_window->link);
+ LIST_DEL(&hwc_window_data->link);
- sprd_hwc_window->zpos = zpos;
+ hwc_window_data->zpos = zpos;
- _sprd_output_insert_hwc_window(sprd_output, sprd_hwc_window);
+ _sprd_output_insert_hwc_window(output_data, hwc_window_data);
- sprd_output->need_validate = 1;
+ output_data->need_validate = 1;
return TDM_ERROR_NONE;
sprd_hwc_window_set_composition_type(tdm_hwc_window *hwc_window,
tdm_hwc_window_composition comp_type)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output = sprd_hwc_window->output_data;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data = hwc_window_data->output_data;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
- if (sprd_hwc_window->client_type == comp_type)
+ if (hwc_window_data->client_type == comp_type)
return TDM_ERROR_NONE;
- sprd_hwc_window->client_type = comp_type;
+ hwc_window_data->client_type = comp_type;
if (comp_type == TDM_COMPOSITION_NONE)
- sprd_hwc_window->validated_type = comp_type;
- sprd_output->need_validate = 1;
+ hwc_window_data->validated_type = comp_type;
+ output_data->need_validate = 1;
return TDM_ERROR_NONE;
tdm_error
sprd_hwc_window_set_buffer_damage(tdm_hwc_window *hwc_window, tdm_hwc_region damage)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output = sprd_hwc_window->output_data;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data = hwc_window_data->output_data;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
//TODO::
tdm_error
sprd_hwc_window_set_info(tdm_hwc_window *hwc_window, tdm_hwc_window_info *info)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output = sprd_hwc_window->output_data;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data = hwc_window_data->output_data;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
RETURN_VAL_IF_FAIL(info != NULL, TDM_ERROR_INVALID_PARAMETER);
- if (memcmp(&sprd_hwc_window->info, info, sizeof(tdm_hwc_window_info)) == 0)
+ if (memcmp(&hwc_window_data->info, info, sizeof(tdm_hwc_window_info)) == 0)
return TDM_ERROR_NONE;
- sprd_hwc_window->info = *info;
- sprd_output->need_validate = 1;
+ hwc_window_data->info = *info;
+ output_data->need_validate = 1;
return TDM_ERROR_NONE;
}
tdm_error
sprd_hwc_window_set_buffer(tdm_hwc_window *hwc_window, tbm_surface_h surface)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data;
tdm_sprd_data *sprd_data;
tdm_error err = TDM_ERROR_OPERATION_FAILED;
tdm_sprd_display_buffer *display_buffer = NULL;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, err);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, err);
- sprd_output = sprd_hwc_window->output_data;
- sprd_data = sprd_hwc_window->sprd_data;
+ output_data = hwc_window_data->output_data;
+ sprd_data = hwc_window_data->sprd_data;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, err);
+ RETURN_VAL_IF_FAIL(output_data != NULL, err);
RETURN_VAL_IF_FAIL(sprd_data != NULL, err);
if (!surface) {
- sprd_hwc_window->display_buffer = NULL;
+ hwc_window_data->display_buffer = NULL;
return TDM_ERROR_NONE;
}
LIST_ADDTAIL(&display_buffer->link, &sprd_data->buffer_list);
}
- if (sprd_hwc_window->display_buffer == display_buffer)
+ if (hwc_window_data->display_buffer == display_buffer)
return TDM_ERROR_NONE;
- sprd_hwc_window->display_buffer = display_buffer;
+ hwc_window_data->display_buffer = display_buffer;
return TDM_ERROR_NONE;
}
tdm_error
sprd_hwc_window_set_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
- sprd_hwc_window->flags |= flags;
+ hwc_window_data->flags |= flags;
return TDM_ERROR_NONE;
}
tdm_error
sprd_hwc_window_unset_flags(tdm_hwc_window *hwc_window, tdm_hwc_window_flag flags)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
- RETURN_VAL_IF_FAIL(sprd_hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(hwc_window_data != NULL, TDM_ERROR_INVALID_PARAMETER);
- sprd_hwc_window->flags &= ~flags;
+ hwc_window_data->flags &= ~flags;
return TDM_ERROR_NONE;
}
sprd_hwc_window_video_get_capability(tdm_hwc_window *hwc_window,
tdm_hwc_window_video_capability *video_capability)
{
- tdm_sprd_hwc_window_data *sprd_hwc_window = hwc_window;
- tdm_sprd_output_data *sprd_output;
+ tdm_sprd_hwc_window_data *hwc_window_data = hwc_window;
+ tdm_sprd_output_data *output_data;
RETURN_VAL_IF_FAIL(hwc_window != NULL, TDM_ERROR_INVALID_PARAMETER);
- sprd_output = sprd_hwc_window->output_data;
- RETURN_VAL_IF_FAIL(sprd_output != NULL, TDM_ERROR_INVALID_PARAMETER);
+ output_data = hwc_window_data->output_data;
+ RETURN_VAL_IF_FAIL(output_data != NULL, TDM_ERROR_INVALID_PARAMETER);
RETURN_VAL_IF_FAIL(video_capability != NULL, TDM_ERROR_INVALID_PARAMETER);
- RETURN_VAL_IF_FAIL(sprd_output->video_hwc_window == sprd_hwc_window, TDM_ERROR_INVALID_PARAMETER);
+ RETURN_VAL_IF_FAIL(output_data->video_hwc_window == hwc_window_data, TDM_ERROR_INVALID_PARAMETER);
*video_capability = TDM_HWC_WINDOW_VIDEO_CAPABILITY_SCANOUT;