aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb-frontends/drx39xyj/drxj.c56
1 files changed, 11 insertions, 45 deletions
diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c
index f7c57c971f8f..8437fd5b8c91 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drxj.c
+++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c
@@ -2954,20 +2954,6 @@ ctrl_set_cfg_mpeg_output(struct drx_demod_instance *demod, struct drx_cfg_mpeg_o
2954 case DRX_STANDARD_ITU_C: 2954 case DRX_STANDARD_ITU_C:
2955 break; 2955 break;
2956 default: 2956 default:
2957 /* not an MPEG producing std, just store MPEG cfg */
2958 common_attr->mpeg_cfg.enable_mpeg_output =
2959 cfg_data->enable_mpeg_output;
2960 common_attr->mpeg_cfg.insert_rs_byte =
2961 cfg_data->insert_rs_byte;
2962 common_attr->mpeg_cfg.enable_parallel =
2963 cfg_data->enable_parallel;
2964 common_attr->mpeg_cfg.invert_data = cfg_data->invert_data;
2965 common_attr->mpeg_cfg.invert_err = cfg_data->invert_err;
2966 common_attr->mpeg_cfg.invert_str = cfg_data->invert_str;
2967 common_attr->mpeg_cfg.invert_val = cfg_data->invert_val;
2968 common_attr->mpeg_cfg.invert_clk = cfg_data->invert_clk;
2969 common_attr->mpeg_cfg.static_clk = cfg_data->static_clk;
2970 common_attr->mpeg_cfg.bitrate = cfg_data->bitrate;
2971 return 0; 2957 return 0;
2972 } 2958 }
2973 2959
@@ -3215,6 +3201,7 @@ ctrl_set_cfg_mpeg_output(struct drx_demod_instance *demod, struct drx_cfg_mpeg_o
3215 else 3201 else
3216 fec_oc_reg_ipr_invert &= (~(FEC_OC_IPR_INVERT_MCLK__M)); 3202 fec_oc_reg_ipr_invert &= (~(FEC_OC_IPR_INVERT_MCLK__M));
3217 3203
3204
3218 if (cfg_data->static_clk == true) { /* Static mode */ 3205 if (cfg_data->static_clk == true) { /* Static mode */
3219 u32 dto_rate = 0; 3206 u32 dto_rate = 0;
3220 u32 bit_rate = 0; 3207 u32 bit_rate = 0;
@@ -3546,15 +3533,6 @@ ctrl_set_cfg_mpeg_output(struct drx_demod_instance *demod, struct drx_cfg_mpeg_o
3546 3533
3547 /* save values for restore after re-acquire */ 3534 /* save values for restore after re-acquire */
3548 common_attr->mpeg_cfg.enable_mpeg_output = cfg_data->enable_mpeg_output; 3535 common_attr->mpeg_cfg.enable_mpeg_output = cfg_data->enable_mpeg_output;
3549 common_attr->mpeg_cfg.insert_rs_byte = cfg_data->insert_rs_byte;
3550 common_attr->mpeg_cfg.enable_parallel = cfg_data->enable_parallel;
3551 common_attr->mpeg_cfg.invert_data = cfg_data->invert_data;
3552 common_attr->mpeg_cfg.invert_err = cfg_data->invert_err;
3553 common_attr->mpeg_cfg.invert_str = cfg_data->invert_str;
3554 common_attr->mpeg_cfg.invert_val = cfg_data->invert_val;
3555 common_attr->mpeg_cfg.invert_clk = cfg_data->invert_clk;
3556 common_attr->mpeg_cfg.static_clk = cfg_data->static_clk;
3557 common_attr->mpeg_cfg.bitrate = cfg_data->bitrate;
3558 3536
3559 return 0; 3537 return 0;
3560rw_error: 3538rw_error:
@@ -7644,17 +7622,10 @@ static int set_vsb(struct drx_demod_instance *demod)
7644 /* TODO: move to set_standard after hardware reset value problem is solved */ 7622 /* TODO: move to set_standard after hardware reset value problem is solved */
7645 /* Configure initial MPEG output */ 7623 /* Configure initial MPEG output */
7646 struct drx_cfg_mpeg_output cfg_mpeg_output; 7624 struct drx_cfg_mpeg_output cfg_mpeg_output;
7625
7626 memcpy(&cfg_mpeg_output, &common_attr->mpeg_cfg, sizeof(cfg_mpeg_output));
7647 cfg_mpeg_output.enable_mpeg_output = true; 7627 cfg_mpeg_output.enable_mpeg_output = true;
7648 cfg_mpeg_output.insert_rs_byte = common_attr->mpeg_cfg.insert_rs_byte; 7628
7649 cfg_mpeg_output.enable_parallel =
7650 common_attr->mpeg_cfg.enable_parallel;
7651 cfg_mpeg_output.invert_data = common_attr->mpeg_cfg.invert_data;
7652 cfg_mpeg_output.invert_err = common_attr->mpeg_cfg.invert_err;
7653 cfg_mpeg_output.invert_str = common_attr->mpeg_cfg.invert_str;
7654 cfg_mpeg_output.invert_val = common_attr->mpeg_cfg.invert_val;
7655 cfg_mpeg_output.invert_clk = common_attr->mpeg_cfg.invert_clk;
7656 cfg_mpeg_output.static_clk = common_attr->mpeg_cfg.static_clk;
7657 cfg_mpeg_output.bitrate = common_attr->mpeg_cfg.bitrate;
7658 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output); 7629 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output);
7659 if (rc != 0) { 7630 if (rc != 0) {
7660 pr_err("error %d\n", rc); 7631 pr_err("error %d\n", rc);
@@ -8034,6 +8005,7 @@ static int power_down_qam(struct drx_demod_instance *demod, bool primary)
8034 int rc; 8005 int rc;
8035 struct i2c_device_addr *dev_addr = demod->my_i2c_dev_addr; 8006 struct i2c_device_addr *dev_addr = demod->my_i2c_dev_addr;
8036 struct drx_cfg_mpeg_output cfg_mpeg_output; 8007 struct drx_cfg_mpeg_output cfg_mpeg_output;
8008 struct drx_common_attr *common_attr = demod->my_common_attr;
8037 u16 cmd_result = 0; 8009 u16 cmd_result = 0;
8038 8010
8039 /* 8011 /*
@@ -8103,7 +8075,9 @@ static int power_down_qam(struct drx_demod_instance *demod, bool primary)
8103 } 8075 }
8104 } 8076 }
8105 8077
8078 memcpy(&cfg_mpeg_output, &common_attr->mpeg_cfg, sizeof(cfg_mpeg_output));
8106 cfg_mpeg_output.enable_mpeg_output = false; 8079 cfg_mpeg_output.enable_mpeg_output = false;
8080
8107 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output); 8081 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output);
8108 if (rc != 0) { 8082 if (rc != 0) {
8109 pr_err("error %d\n", rc); 8083 pr_err("error %d\n", rc);
@@ -10283,19 +10257,9 @@ set_qam(struct drx_demod_instance *demod,
10283 /* Configure initial MPEG output */ 10257 /* Configure initial MPEG output */
10284 struct drx_cfg_mpeg_output cfg_mpeg_output; 10258 struct drx_cfg_mpeg_output cfg_mpeg_output;
10285 10259
10260 memcpy(&cfg_mpeg_output, &common_attr->mpeg_cfg, sizeof(cfg_mpeg_output));
10286 cfg_mpeg_output.enable_mpeg_output = true; 10261 cfg_mpeg_output.enable_mpeg_output = true;
10287 cfg_mpeg_output.insert_rs_byte = 10262
10288 common_attr->mpeg_cfg.insert_rs_byte;
10289 cfg_mpeg_output.enable_parallel =
10290 common_attr->mpeg_cfg.enable_parallel;
10291 cfg_mpeg_output.invert_data =
10292 common_attr->mpeg_cfg.invert_data;
10293 cfg_mpeg_output.invert_err = common_attr->mpeg_cfg.invert_err;
10294 cfg_mpeg_output.invert_str = common_attr->mpeg_cfg.invert_str;
10295 cfg_mpeg_output.invert_val = common_attr->mpeg_cfg.invert_val;
10296 cfg_mpeg_output.invert_clk = common_attr->mpeg_cfg.invert_clk;
10297 cfg_mpeg_output.static_clk = common_attr->mpeg_cfg.static_clk;
10298 cfg_mpeg_output.bitrate = common_attr->mpeg_cfg.bitrate;
10299 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output); 10263 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output);
10300 if (rc != 0) { 10264 if (rc != 0) {
10301 pr_err("error %d\n", rc); 10265 pr_err("error %d\n", rc);
@@ -19930,7 +19894,9 @@ int drxj_open(struct drx_demod_instance *demod)
19930 } 19894 }
19931 19895
19932 /* disable mpegoutput pins */ 19896 /* disable mpegoutput pins */
19897 memcpy(&cfg_mpeg_output, &common_attr->mpeg_cfg, sizeof(cfg_mpeg_output));
19933 cfg_mpeg_output.enable_mpeg_output = false; 19898 cfg_mpeg_output.enable_mpeg_output = false;
19899
19934 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output); 19900 rc = ctrl_set_cfg_mpeg_output(demod, &cfg_mpeg_output);
19935 if (rc != 0) { 19901 if (rc != 0) {
19936 pr_err("error %d\n", rc); 19902 pr_err("error %d\n", rc);