video: driver: amend xo reset clock as shared resource

Use devm_reset_control_get_exclusive_released() instead of
devm_reset_control_get() to get the reset control of video_xo_reset
clock as it is shared reset clock between eva and video drivers.
Use reset_control_acquire() before assert and reset_control_release()
after de-assert video_xo_reset clock to avoid eva driver operating on
it in parallel.

Change-Id: I4936ed7a4556bb56d4b28546084fc877080308ef
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
Signed-off-by: Darshana Patil <quic_darshana@quicinc.com>
このコミットが含まれているのは:
Darshana Patil
2023-01-04 12:58:31 -08:00
コミット a0082a4c81
8個のファイルの変更126行の追加14行の削除

ファイルの表示

@@ -2314,9 +2314,9 @@ static const struct clk_table anorak_clk_table[] = {
{ "video_cc_mvs0_clk_src", VIDEO_CC_MVS0_CLK_SRC, 1 },
};
/* name */
/* name, exclusive_release */
static const struct clk_rst_table anorak_clk_reset_table[] = {
{ "video_axi_reset" },
{ "video_axi_reset", 0 },
};
/* name, llcc_id */

ファイルの表示

@@ -60,6 +60,7 @@ struct clk_table {
struct clk_rst_table {
const char *name;
bool exclusive_release;
};
struct subcache_table {

ファイルの表示

@@ -2514,9 +2514,9 @@ static const struct clk_table kalama_clk_table[] = {
{ "video_cc_mvs0_clk_src", VIDEO_CC_MVS0_CLK_SRC, 1 },
};
/* name */
/* name, exclusive_release */
static const struct clk_rst_table kalama_clk_reset_table[] = {
{ "video_axi_reset" },
{ "video_axi_reset", 0 },
};
/* name, llcc_id */

ファイルの表示

@@ -2547,11 +2547,11 @@ static const struct clk_table pineapple_clk_table[] = {
{ "video_cc_mvs0_clk_src", VIDEO_CC_MVS0_CLK_SRC, 1 },
};
/* name */
/* name, exclusive_release */
static const struct clk_rst_table pineapple_clk_reset_table[] = {
{ "video_axi_reset" },
{ "video_xo_reset" },
{ "video_mvs0c_reset" },
{ "video_axi_reset", 0 },
{ "video_xo_reset", 1 },
{ "video_mvs0c_reset", 0 },
};
/* name, llcc_id */

ファイルの表示

@@ -2060,10 +2060,10 @@ static const struct clk_table waipio_clk_table[] = {
{ "video_cc_mvs0_clk_src", VIDEO_CC_MVS0_CLK_SRC, 1 },
};
/* name */
/* name, exclusive_release */
static const struct clk_rst_table waipio_clk_reset_table[] = {
{ "video_axi_reset" },
{ "video_core_reset" },
{ "video_axi_reset", 0 },
{ "video_core_reset", 0 },
};
/* name, llcc_id */