Message ID | 1412140821-16285-9-git-send-email-zzam@gentoo.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
I don't understand that patch. Commit message should explain it likely better details. You added flag 'port_3_switch_enabled' to device state. That is for I2C mux, but what it means? Does it means mux is currently switched to to port 3? Later you will use that flag to avoid unnecessary mux switching? regards Antti On 10/01/2014 08:20 AM, Matthias Schwarzott wrote: > If remembering is not stable enough, this must be changed to query from the register when needed. > > Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> > --- > drivers/media/usb/cx231xx/cx231xx-avcore.c | 3 +++ > drivers/media/usb/cx231xx/cx231xx.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/media/usb/cx231xx/cx231xx-avcore.c b/drivers/media/usb/cx231xx/cx231xx-avcore.c > index 40a6987..4c85b6f 100644 > --- a/drivers/media/usb/cx231xx/cx231xx-avcore.c > +++ b/drivers/media/usb/cx231xx/cx231xx-avcore.c > @@ -1294,6 +1294,9 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3) > status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, > PWR_CTL_EN, value, 4); > > + if (status >= 0) > + dev->port_3_switch_enabled = is_port_3; > + > return status; > > } > diff --git a/drivers/media/usb/cx231xx/cx231xx.h b/drivers/media/usb/cx231xx/cx231xx.h > index f03338b..8a3c97b 100644 > --- a/drivers/media/usb/cx231xx/cx231xx.h > +++ b/drivers/media/usb/cx231xx/cx231xx.h > @@ -629,6 +629,7 @@ struct cx231xx { > /* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */ > struct cx231xx_i2c i2c_bus[3]; > unsigned int xc_fw_load_done:1; > + unsigned int port_3_switch_enabled:1; > /* locks */ > struct mutex gpio_i2c_lock; > struct mutex i2c_lock; >
On 01.10.2014 21:36, Antti Palosaari wrote: > I don't understand that patch. Commit message should explain it likely > better details. > > You added flag 'port_3_switch_enabled' to device state. That is for I2C > mux, but what it means? Does it means mux is currently switched to to > port 3? Later you will use that flag to avoid unnecessary mux switching? > You are right, it should be described better. Basically it is to be able to query the state of the mux. This is in the next patch used for the hack that detects if a specific tuner on a specific bus is accessed. It is not used to suppress unnecessary switching. The switching function explicitly reads the switch register and only writes it if the value is different. But maybe it would be more consistent if in this case the code also reads the register. Regards Matthias > regards > Antti > > > > On 10/01/2014 08:20 AM, Matthias Schwarzott wrote: >> If remembering is not stable enough, this must be changed to query >> from the register when needed. >> >> Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> >> --- >> drivers/media/usb/cx231xx/cx231xx-avcore.c | 3 +++ >> drivers/media/usb/cx231xx/cx231xx.h | 1 + >> 2 files changed, 4 insertions(+) >> >> diff --git a/drivers/media/usb/cx231xx/cx231xx-avcore.c >> b/drivers/media/usb/cx231xx/cx231xx-avcore.c >> index 40a6987..4c85b6f 100644 >> --- a/drivers/media/usb/cx231xx/cx231xx-avcore.c >> +++ b/drivers/media/usb/cx231xx/cx231xx-avcore.c >> @@ -1294,6 +1294,9 @@ int cx231xx_enable_i2c_port_3(struct cx231xx >> *dev, bool is_port_3) >> status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, >> PWR_CTL_EN, value, 4); >> >> + if (status >= 0) >> + dev->port_3_switch_enabled = is_port_3; >> + >> return status; >> >> } >> diff --git a/drivers/media/usb/cx231xx/cx231xx.h >> b/drivers/media/usb/cx231xx/cx231xx.h >> index f03338b..8a3c97b 100644 >> --- a/drivers/media/usb/cx231xx/cx231xx.h >> +++ b/drivers/media/usb/cx231xx/cx231xx.h >> @@ -629,6 +629,7 @@ struct cx231xx { >> /* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal >> only) */ >> struct cx231xx_i2c i2c_bus[3]; >> unsigned int xc_fw_load_done:1; >> + unsigned int port_3_switch_enabled:1; >> /* locks */ >> struct mutex gpio_i2c_lock; >> struct mutex i2c_lock; >> > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/media/usb/cx231xx/cx231xx-avcore.c b/drivers/media/usb/cx231xx/cx231xx-avcore.c index 40a6987..4c85b6f 100644 --- a/drivers/media/usb/cx231xx/cx231xx-avcore.c +++ b/drivers/media/usb/cx231xx/cx231xx-avcore.c @@ -1294,6 +1294,9 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3) status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER, PWR_CTL_EN, value, 4); + if (status >= 0) + dev->port_3_switch_enabled = is_port_3; + return status; } diff --git a/drivers/media/usb/cx231xx/cx231xx.h b/drivers/media/usb/cx231xx/cx231xx.h index f03338b..8a3c97b 100644 --- a/drivers/media/usb/cx231xx/cx231xx.h +++ b/drivers/media/usb/cx231xx/cx231xx.h @@ -629,6 +629,7 @@ struct cx231xx { /* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */ struct cx231xx_i2c i2c_bus[3]; unsigned int xc_fw_load_done:1; + unsigned int port_3_switch_enabled:1; /* locks */ struct mutex gpio_i2c_lock; struct mutex i2c_lock;
If remembering is not stable enough, this must be changed to query from the register when needed. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> --- drivers/media/usb/cx231xx/cx231xx-avcore.c | 3 +++ drivers/media/usb/cx231xx/cx231xx.h | 1 + 2 files changed, 4 insertions(+)