> > + /* Gen3 needs a reset before allowing RXDMA once */ > > + if (priv->devtype == I2C_RCAR_GEN3) { > > So on R-Car Gen3 the device is always reset, even if no reads will be done? > Or is that something you cannot check for at this point? You got a point. I copied the behaviour from the BSP to do this as early as possible. Still, it might be worthwhile to merge this into rcar_i2c_request_dma() and move the call to it to the front. Will check. > > + if (priv->devtype == I2C_RCAR_GEN3) { > > + priv->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); > > + if (!IS_ERR(priv->rstc)) { > > + ret = reset_control_status(priv->rstc); > > Why this call and check? To check if .status() is implemented (it always is > on R-Car Gen3, if CONFIG_RESET_CONTROLLER is enabled), and to avoid the > timeout in rcar_i2c_do_reset() on every transfer? Yes. We can save all the hazzle if it is not implemented. And I didn't want to implicitly assume that it will be implemented anywhere forever. That could be a very subtle bug later. Thanks, Wolfram
Attachment:
signature.asc
Description: PGP signature