Em Wed, 9 Sep 2020 21:38:44 +0800 YueHaibing <yuehaibing@xxxxxxxxxx> escreveu: > drivers/media/pci/ttpci/av7110_v4l.c: In function ‘vidioc_s_frequency’: > drivers/media/pci/ttpci/av7110_v4l.c:163:11: error: SSE register return with SSE disabled > if (freq < 16U * 168.25) > ~~~~~^~~~~~~~~~~~~~ > Get rid of float pointing math to fix this. Out of curiosity: what compiler are you using? This sounds to be a compiler issue, as compiler should be optimizing the code by doing the math evaluation at compile time instead of doing it during runtime. > > Fixes: 13c129066845 ("media: av7110_v4l: avoid a typecast") > Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> > --- > drivers/media/pci/ttpci/av7110_v4l.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/media/pci/ttpci/av7110_v4l.c > index 6d9c908be713..ba745b161cba 100644 > --- a/drivers/media/pci/ttpci/av7110_v4l.c > +++ b/drivers/media/pci/ttpci/av7110_v4l.c > @@ -160,9 +160,9 @@ static int ves1820_set_tv_freq(struct saa7146_dev *dev, u32 freq) > buf[1] = div & 0xff; > buf[2] = 0x8e; > > - if (freq < 16U * 168.25) > + if (freq < (16 * 16825) / 100) > config = 0xa0; > - else if (freq < 16U * 447.25) > + else if (freq < (16 * 44725) / 100) > config = 0x90; > else > config = 0x30; Thanks, Mauro