return &stream->status;
}
-bool dc_init_dchub(struct dc *dc, struct dchub_init_data *dh_data)
-{
- int i;
- struct core_dc *core_dc = DC_TO_CORE(dc);
- struct mem_input *mi = NULL;
-
- for (i = 0; i < core_dc->res_pool->pipe_count; i++) {
- if (core_dc->res_pool->mis[i] != NULL) {
- mi = core_dc->res_pool->mis[i];
- break;
- }
- }
- if (mi == NULL) {
- dm_error("no mem_input!\n");
- return false;
- }
-
- if (mi->funcs->mem_input_update_dchub)
- mi->funcs->mem_input_update_dchub(mi, dh_data);
- else
- ASSERT(mi->funcs->mem_input_update_dchub);
-
-
- return true;
-
-}
-
struct dc_debug debug;
};
-enum frame_buffer_mode {
- FRAME_BUFFER_MODE_LOCAL_ONLY = 0,
- FRAME_BUFFER_MODE_ZFB_ONLY,
- FRAME_BUFFER_MODE_MIXED_ZFB_AND_LOCAL,
-} ;
-
-struct dchub_init_data {
- bool dchub_initialzied;
- bool dchub_info_valid;
- int64_t zfb_phys_addr_base;
- int64_t zfb_mc_base_addr;
- uint64_t zfb_size_in_byte;
- enum frame_buffer_mode fb_mode;
-};
-
struct dc_init_data {
struct hw_asic_id asic_id;
void *driver; /* ctx */
void dc_destroy(struct dc **dc);
-bool dc_init_dchub(struct dc *dc, struct dchub_init_data *dh_data);
-
/*******************************************************************************
* Surface Interfaces
******************************************************************************/
dce_mem_input_program_surface_config,
.mem_input_is_flip_pending =
dce110_mem_input_is_flip_pending,
- .mem_input_update_dchub = NULL
};
/*****************************************/
/* Constructor, Destructor */
dce_mem_input_program_surface_config,
.mem_input_is_flip_pending =
dce110_mem_input_is_flip_pending,
- .mem_input_update_dchub = NULL
};
/*****************************************/
bool (*mem_input_is_flip_pending)(struct mem_input *mem_input);
- void (*mem_input_update_dchub)(struct mem_input *mem_input,
- struct dchub_init_data *dh_data);
};
#endif