drxk: Fix error return code during drxk init
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/3 drxk: Fix error return code during drxk init
Signed-off-by Mauro Carvalho Chehab <[email protected]>
drivers/media/dvb/frontends/drxk_hard.c +1 -1
@@ -6171,7 +6171,7 @@ error:if (status <0 )printk (KERN_ERR "drxk: Error %d on %s\n" , status, __func__); -return 0 ; +return status; }static void drxk_c_release (struct dvb_frontend *fe)
Signature · 1 line
1.7.1
PATCH 2/3 drxk: Fix read debug message
In reply to a message not in the archiveSigned-off-by Mauro Carvalho Chehab <[email protected]>
drivers/media/dvb/frontends/drxk_hard.c +6 -9
@@ -355,13 +355,7 @@ static int i2c_read(struct i2c_adapter *adap, {.addr = adr, .flags = I2C_M_RD, .buf = answ, .len = alen} }; -dprintk (3 ,":" ); -if (debug >2 ) { -int i; -for (i =0 ; i < len; i++) -printk (KERN_CONT " %02x" , msg[i]); -printk (KERN_CONT "\n" ); - } + status =i2c_transfer (adap, msgs,2 );if (status !=2 ) {if (debug >2 )
@@ -374,9 +368,12 @@ static int i2c_read(struct i2c_adapter *adap, }if (debug >2 ) {int i; -printk (KERN_CONT ": Read " ); +dprintk (2 ,": read from " );for (i =0 ; i < len; i++)printk (KERN_CONT " %02x" , msg[i]); +printk (KERN_CONT "Value = " ); +for (i =0 ; i < alen; i++) +printk (KERN_CONT " %02x" , answ[i]);printk (KERN_CONT "\n" ); }return 0 ;
@@ -1075,7 +1072,7 @@ static int GetDeviceCapabilities(struct drxk_state *state) state->m_hasIRQN = false;break ;default : -printk (KERN_ERR "drxk: DeviceID not supported = %02x\n" , +printk (KERN_ERR "drxk: DeviceID 0x%02x not supported\n" , ((sioTopJtagidLo >>12 ) &0xFF )); status = -EINVAL ; goto error2;
Signature · 1 line
1.7.1
PATCH 3/3 drxk: Fix the logic that selects between DVB-C annex A and C
In reply to a message not in the archiveFix the DRX-K logic that selects between DVB-C annex A and C
Fix a typo where DVB-C annex type is set via setEnvParameters, but the driver, uses, instead, setParamParameters[2].
While here, cleans up the code, fixing a bad identation at the fallback code for other types of firmware, and put the multiple-line comments into the Linux CodingStyle.
Acked-by Oliver Endriss <[email protected]>
Signed-off-by Mauro Carvalho Chehab <[email protected]>
drivers/media/dvb/frontends/drxk_hard.c +26 -30
@@ -5382,18 +5382,16 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz, s32 tunerFreqOffset) {int status; -u8 parameterLen; -u16 setEnvParameters[5 ] = {0 ,0 ,0 ,0 ,0 };u16 setParamParameters[4 ] = {0 ,0 ,0 ,0 };u16 cmdResult;dprintk (1 ,"\n" );/* -STEP 1: reset demodulator -resets FEC DI and FEC RS -resets QAM block -resets SCU variables -*/ +* STEP 1: reset demodulator +* resets FEC DI and FEC RS +* resets QAM block +* resets SCU variables +*/ status =write16 (state,FEC_DI_COMM_EXEC__A ,FEC_DI_COMM_EXEC_STOP );if (status <0 ) goto error;
@@ -5405,23 +5403,14 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz, goto error;/* -STEP 2: configure demodulator --set env --set params; resets IQM,QAM,FEC HW; initializes some SCU variables -*/ +* STEP 2: configure demodulator +* -set params; resets IQM,QAM,FEC HW; initializes some +* SCU variables +*/ status =QAMSetSymbolrate (state);if (status <0 ) goto error; -/* Env parameters */ - setEnvParameters[2 ] =QAM_TOP_ANNEX_A ;/* Annex */ -if (state->m_OperationMode ==OM_QAM_ITU_C ) - setEnvParameters[2 ] =QAM_TOP_ANNEX_C ;/* Annex */ - setParamParameters[3 ] |= (QAM_MIRROR_AUTO_ON ); -/* check for LOCKRANGE Extented */ -/* setParamParameters[3] |= QAM_LOCKRANGE_NORMAL; */ - parameterLen =4 ; -/* Set params */ switch (state->param.u.qam.modulation) {case QAM_256 :
@@ -5448,30 +5437,37 @@ static int SetQAM(struct drxk_state *state, u16 IntermediateFreqkHz, goto error; setParamParameters[0 ] = state->m_Constellation;/* constellation */ setParamParameters[1 ] =DRXK_QAM_I12_J17 ;/* interleave mode */ +if (state->m_OperationMode ==OM_QAM_ITU_C ) + setParamParameters[2 ] =QAM_TOP_ANNEX_C ; +else + setParamParameters[2 ] =QAM_TOP_ANNEX_A ; + setParamParameters[3 ] |= (QAM_MIRROR_AUTO_ON ); +/* Env parameters */ +/* check for LOCKRANGE Extented */ +/* setParamParameters[3] |= QAM_LOCKRANGE_NORMAL; */ status =scu_command (state,SCU_RAM_COMMAND_STANDARD_QAM |SCU_RAM_COMMAND_CMD_DEMOD_SET_PARAM ,4 , setParamParameters,1 , &cmdResult);if (status <0 ) {/* Fall-back to the simpler call */ - setParamParameters[0 ] =QAM_TOP_ANNEX_A ;if (state->m_OperationMode ==OM_QAM_ITU_C ) - setEnvParameters[0 ] =QAM_TOP_ANNEX_C ;/* Annex */ + setParamParameters[0 ] =QAM_TOP_ANNEX_C ;else - setEnvParameters[0 ] =0 ; - - status =scu_command (state,SCU_RAM_COMMAND_STANDARD_QAM |SCU_RAM_COMMAND_CMD_DEMOD_SET_ENV ,1 , setEnvParameters,1 , &cmdResult); -if (status <0 ) - goto error; + setParamParameters[0 ] =QAM_TOP_ANNEX_A ; + status =scu_command (state,SCU_RAM_COMMAND_STANDARD_QAM |SCU_RAM_COMMAND_CMD_DEMOD_SET_ENV ,1 , setParamParameters,1 , &cmdResult); +if (status <0 ) + goto error; setParamParameters[0 ] = state->m_Constellation;/* constellation */ setParamParameters[1 ] =DRXK_QAM_I12_J17 ;/* interleave mode */ - status =scu_command (state,SCU_RAM_COMMAND_STANDARD_QAM |SCU_RAM_COMMAND_CMD_DEMOD_SET_PARAM ,2 , setParamParameters,1 , &cmdResult); }if (status <0 ) goto error; -/* STEP 3: enable the system in a mode where the ADC provides valid signal -setup constellation independent registers */ +/* +* STEP 3: enable the system in a mode where the ADC provides valid +* signal setup constellation independent registers +*/ #if 0 status = SetFrequency(channel, tunerFreqOffset));if (status <0 )
Signature · 1 line
1.7.1