- 22 10月, 2015 2 次提交
-
-
由 Johan Hovold 提交于
Fix use-after-free in endo-registration error path by moving the id-release to the device release function. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Vaibhav Hiremath 提交于
With DB3, we now have AP as a master as far as AP bridges are concerned. SVC will talk only to AP and AP will control bridges; unlike other module interfaces. So AP supposed to manage/control bridges in all power states including power on reset. During power on reset AP should follow below sequence - Sequence (treated as a Cold Boot) Stage-1 ======= AP: - Power On (Power up from PMIC to AP) - AP start booting Since power to AP bridges are controlled through gpio, power is gated to APB1 & 2 No ref_clk to APB available (under SVC's control) - AP configures USB hub to enable HSIC interface to APB - As part of platform driver probe, AP follow below sequence - Set the pinctrl in default state - Hold APBs in reset by pulling down reset pin - Enable power to APB by enabling regulator and switches - De-assert (set 'low') 'boot_ret' signal - AP will assert (set 'high') the wake_detect signal, triggering connect/detect event to the SVC - AP waits for wake pulse from SVC SVC: - Power On (power up from PMIC to SVC) - SVC starts booting - SVC will de-assert reset signal to unipro switch - Switch starts booting - SVC confirms switch boot status using SPI (or something) - SVC waits for 300 msec (ES2 known issue) - SVC waits for detect/connect event from AP Stage-2 ======= SVC: - ON connect/detect event, SVC send back wake pulse (cold boot) to AP over wake_detect pin, if SVC boot is completed. AP: - On wake pulse from SVC (for cold boot), AP de-asserts (set high') reset signal to APB 1 and/or 2 - Bridges starts booting - Eventually Unipro linkup occurs Testing: - Build tested against Helium kernel - Due to unavailability of MSM and DB3 platform, only minimal testing has been done. - Code has been modified for validation on Helium + SDB platform. Mostly dts changes for gpio numbers And debug messages to check gpio values - On Helium + SDB platform, with addition of debug messages validated the sequence. TODO list: - Currently _only_ supports power on sequence (cold boot). Both warm and cold boot support. Cold and Warm boot is differentiated based on pulse width of wake_detect signal >=5 msec = Cold boot else Warm boot - No support for Power management So the "power-down", "power-off", "wake_in" and "wake_out" signals are not explored/implemented. - Support for Work thread repetitive wake signal if no response from peer May required for PM support, as we have delays in the sequences - pinctrl states, specially to make sure we enable right pullup or pulldown when we set wake_detect pin to input - Convert gpio list into an array, and associated xxx-gpio-name property Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
- 20 10月, 2015 10 次提交
-
-
由 Greg Kroah-Hartman 提交于
As the svc code is "odd" in how things are set up at initial connection time, we can't always "know" that we have a valid bundle to use for error messages. So just punt and always use pr_*() calls to ensure that we never incorrectly dereference a pointer. This will get fixed up soon, but for now, let's just live with a bit messier error messages in the log. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
As we are going to be removing the struct device from gb_connection, there is no need to do anything for uevents for them. So just remove the code. It wasn't doing anything anyway, so no functionality is lost here at all. As is_gb_connection() is no longer used, that is also removed in this patch. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
The gb_bundle structure needs a private field if we are going to be able to replace the gb_connection device with this one for all use cases. Ideally we could use the private pointer within the struct device, but for now let's just try to mirror how people were using the gb_connection structure to make the patches simpler, and the logic the same. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the protocol code to use the bundle pointer instead of the connection pointer when printing out error messages. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the greybus trace code to use the bundle pointer instead of the connection pointer when printing out tracing messages. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the loopback driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the connection code to use the bundle pointer instead of the connection pointer for some error messages. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Greg Kroah-Hartman 提交于
We don't want this in the driver core, as nothing will be binding to it, that's the job of a bundle. So remove the struct device and use a kref to handle reference counting instead. Note, I don't think we really need a kref, but it keeps the lifetime the same as before, and is the simplest change for now. In the future it might be easier to just attach all connections to the bundle and clean them up when the bundle is removed. Also remove the cport sysfs documentation as it's no longer relevant. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NViresh Kumar <viresh.kumar@linaro.org> Reviewed-by: NAlex Elder <elder@linaro.org> Reviewed-by: NJohan Hovold <johan@hovoldconsulting.com>
-
由 Rui Miguel Silva 提交于
Some cleanups in gb_sdio_command function, ret does not need to be initialize and mrq is already pointing to request, no need to get it from host. Signed-off-by: NRui Miguel Silva <rui.silva@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Rui Miguel Silva 提交于
If SDIO request include data to be transfer send details (data blocks and block size) in command request, as it seems some controllers need this info prior to set the registers correctly. Signed-off-by: NRui Miguel Silva <rui.silva@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
- 16 10月, 2015 20 次提交
-
-
由 Bryan O'Donoghue 提交于
In order to provide deep inspection of the greybus/UniPro system instrumentation of 1. APBridge's view of UniPro latency 2. GPBridge's view of internal firmware-only latency have both been added and reported to the AP in the transfer loopback response header. When this data are present we latch and average it over the number of requested cycles, presenting it to user-space via sysfs. This patch adds the following sysfs entries for each loopback CPort - apbridge_unipro_latency_avg_con - apbridge_unipro_latency_max_con - apbridge_unipro_latency_min_con - gpbridge_firmware_latency_avg_con - gpbridge_firmware_latency_max_con - gpbridge_firmware_latency_min_con and the following sysfs entries representing the average values across all available CPorts - apbridge_unipro_latency_avg_dev - apbridge_unipro_latency_max_dev - apbridge_unipro_latency_min_dev - gpbridge_firmware_latency_avg_dev - gpbridge_firmware_latency_max_dev - gpbridge_firmware_latency_min_dev Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Bryan O'Donoghue 提交于
This patch adds tracker variables to hold the incoming firmware derived timestamps where apbridge_latency_ts will contain the APBridge's view of the UniPro turn-around time and gpbridge_latency_ts will contain the GPBridge's view of it's own internal latency. Both values are reported in microseconds. Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Bryan O'Donoghue 提交于
A USB vendor command has been added to APBridge to allow for tagging of specific CPort identifiers with internal timing data, specifically geared towards capturing and understanding latencies in the UniPro fabric. This patch sends a command to APBridge for each known loopback CPort to tag data as appropriate. Subsequent patches will present this data to user-space for ongoing integration analysis. Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Bryan O'Donoghue 提交于
This patch adds a layered wrapper around optional latency tag enable/disable commands to APBridge. When set APBridge and GPBridge will insert timing information into reserved fields in the loopback response header. Correspondingly when unset no timing information will be included in the response payload. Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Bryan O'Donoghue 提交于
As part of an effort to get deep inspection of latencies throughout the greybus network including HSIC, UniPro and firmware incurred latencies a new command to the APBridge to tag a known offset with timestamping data has been introduced. This patch adds that code to the es1 and es2 drivers. - latency_tag_enable - latency_tag_disable Respectively send the enable/disable command to APBridge on a per-CPort basis. This allows only specified cports to have timestamping data added by APBridge, leaving any CPort not specifically enabled untouched. Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the raw driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the control code to use the bundle pointer instead of the connection pointer for printing out error messages. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the operation code to use to use the bundle pointer instead of the connection pointer when printing out error messages. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the usb driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the sdio driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the light driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the pwm driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the i2c driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the gpio driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the firmware driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the audio driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the hid driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the spi driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the uart driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
由 Greg Kroah-Hartman 提交于
We are removing struct device from the gb_connection structure in the near future. The gb_bundle structure's struct device should be used as a replacement. This patch moves the vibrator driver to use the bundle pointer instead of the connection pointer. Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com> Reviewed-by: NAlex Elder <elder@linaro.org>
-
- 15 10月, 2015 8 次提交
-
-
由 Bryan O'Donoghue 提交于
The greybus specification has been extended to include two new reserved fields, which the implementation is using to track internal firmware latencies. This change adds the appropriate fields to the corresponding kernel header. Signed-off-by: NBryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
The ARM-specific set_irq_flags helper has been removed in 4.3. Instead of doing conditional compilation on the kernel version to avoid build breakages, simply use the genirq interface directly. Suggested-by: NRob Herring <rob.herring@linaro.org> Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
Add PWM to the kernel config options that shall be enabled. When PWM is not enabled connection init will fail with greybus endo0:3:4:9:9: failed to register PWM: -22 when using the default manifest. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
Remove duplicate protocol lookup error message, which has already been logged. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
Make protocol lookup error more informative, by moving it to gb_connection_bind_protocol and using dev_err. Also make sure to use hex format for the protocol id as that is what is used everywhere else. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
Add missing error handling when registering the vibrator protocol during module init. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
Include function, protocol name and id when printing the version response debug message. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-
由 Johan Hovold 提交于
Issue a warning if we fail to look up a protocol when dropping a reference. This should never happen as we hold a reference to the protocol module and protocols should only be deregistered at module unload. Signed-off-by: NJohan Hovold <johan@hovoldconsulting.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
-