1. 26 Jun, 2019 6 commits
  2. 21 Jun, 2019 5 commits
  3. 14 Jun, 2019 13 commits
  4. 12 Jun, 2019 8 commits
  5. 07 Jun, 2019 7 commits
    • Oliver O'Halloran's avatar
      i2c: fsi: Create busses for all ports · 095561f4
      Oliver O'Halloran authored
      Currently we only create an I2C bus for the ports listed in the
      device-tree for that master. There's no real reason for this since
      we can discover the number of ports the master supports by looking
      at the port_max field of the status register.
      
      This patch re-works the bus add logic so that we always create buses
      for each port, unless the bus is marked as unavailable in the DT. This
      is useful since it ensures that all the buses provided by the CFAM I2C
      master are accessible to debug tools.
      Signed-off-by: default avatarOliver O'Halloran <oohall@gmail.com>
      Reviewed-by: default avatarEddie James <eajames@linux.ibm.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      095561f4
    • Pali Rohár's avatar
      i2c: i801: Register optional lis3lv02d I2C device on Dell machines · 19b07cb4
      Pali Rohár authored
      Dell platform team told us that some (DMI whitelisted) Dell Latitude
      machines have ST microelectronics accelerometer at I2C address 0x29.
      
      Presence of that ST microelectronics accelerometer is verified by existence
      of SMO88xx ACPI device which represent that accelerometer. Unfortunately
      ACPI device does not specify I2C address.
      
      This patch registers lis3lv02d device for selected Dell Latitude machines
      at I2C address 0x29 after detection. And for Dell Vostro V131 machine at
      I2C address 0x1d which was manually detected.
      
      Finally commit a7ae8195 ("i2c: i801: Allow ACPI SystemIO OpRegion to
      conflict with PCI BAR") allowed to use i2c-i801 driver on Dell machines so
      lis3lv02d correctly initialize accelerometer.
      
      Tested on Dell Latitude E6440.
      Signed-off-by: default avatarPali Rohár <pali.rohar@gmail.com>
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      19b07cb4
    • Ajay Gupta's avatar
      usb: typec: ucsi: ccg: add runtime pm workaround · f0e4cd94
      Ajay Gupta authored
      Cypress USB Type-C CCGx controller firmware version 3.1.10
      (which is being used in many NVIDIA GPU cards) has known issue of
      not triggering interrupt when a USB device is hot plugged to runtime
      resume the controller. If any GPU card gets latest kernel with runtime
      pm support but does not get latest fixed firmware then also it should
      continue to work and therefore a workaround is required to check for
      any connector change event.
      
      The workaround is that i2c bus driver will call pm_request_resume()
      to runtime resume ucsi_ccg driver. CCG driver will call the ISR
      for any connector change event for NVIDIA GPU card and only if it has
      old CCG firmware with the known issue.
      Signed-off-by: default avatarAjay Gupta <ajayg@nvidia.com>
      Acked-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      f0e4cd94
    • Ajay Gupta's avatar
      i2c: nvidia-gpu: resume ccgx i2c client · 9f2e244d
      Ajay Gupta authored
      Cypress USB Type-C CCGx controller firmware version 3.1.10
      (which is being used in many NVIDIA GPU cards) has known issue of
      not triggering interrupt when a USB device is hot plugged to runtime
      resume the controller. If any GPU card gets latest kernel with runtime
      pm support but does not get latest fixed firmware then also it should
      continue to work and therefore a workaround is required to check for
      any connector change event
      
      The workaround is to request runtime resume of i2c client
      which is UCSI Cypress CCGx driver. CCG driver will call the ISR
      for any connector change event only if NVIDIA GPU has old
      CCG firmware with the known issue.
      Signed-off-by: default avatarAjay Gupta <ajayg@nvidia.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      9f2e244d
    • Ajay Gupta's avatar
      usb: typec: ucsi: ccg: enable runtime pm support · a94ecde4
      Ajay Gupta authored
      The change enables runtime pm support to UCSI CCG driver.
      Added ucsi_resume() function to enable notification after
      system reusme. Exported both ucsi_resume() and ucsi_send_command()
      symbols in ucsi.c for modular build.
      Signed-off-by: default avatarAjay Gupta <ajayg@nvidia.com>
      Acked-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      a94ecde4
    • Ajay Gupta's avatar
      i2c: nvidia-gpu: add runtime pm support · d4a4f927
      Ajay Gupta authored
      Enable runtime pm support with autosuspend delay of three second.
      This is to make sure I2C client device Cypress CCGx has completed
      all transaction.
      Signed-off-by: default avatarAjay Gupta <ajayg@nvidia.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      d4a4f927
    • Ajay Gupta's avatar
      i2c: nvidia-gpu: refactor master_xfer · cb7302fb
      Ajay Gupta authored
      Added a local variable "send_stop" to simplify "goto" statements.
      
      The "send_stop" handles below two case
      1) When first i2c start fails and so i2c stop is not sent before
      exiting
      
      2) When i2c stop failed after all transfers and we do not need to
      send another stop before exiting.
      Signed-off-by: default avatarAjay Gupta <ajayg@nvidia.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      cb7302fb
  6. 02 Jun, 2019 1 commit