Commit Graph

25853 Commits

Author SHA1 Message Date
Tatyana Brokhman
bc2aa11468 usb: gadget: add SuperSpeed support to the Gadget Framework
SuperSpeed USB has defined a new descriptor, called
the Binary Device Object Store (BOS) Descriptor. It
has also changed a bit the definition of SET_FEATURE
and GET_STATUS requests to add USB3-specific details.

This patch implements both changes to the Composite
Gadget Framework.

[ balbi@ti.com : slight changes to commit log
		 fixed a compile error on ARM ]

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 11:41:38 +02:00
Tatyana Brokhman
3ba28906ae usb: gadget: add max_speed to usb_composite_driver
This field is used by the Gadget drivers to specify
the maximum speed they support, meaning: the maximum
speed they can provide descriptors for.

The driver speed will be set in consideration of this
value.

[ balbi@ti.com : dropped the ifdeffery ]

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: added max_speed also to android.c]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 11:41:38 +02:00
Tatyana Brokhman
081412dc44 usb: gadget: add streams support to the gadget framework
This patch defines necessary fields to support
streaming for USB3.0.

It implements a new function, called
usb_ep_autoconfig_ss(), to be used instead of the
existing usb_ep_autoconfig() when working in
SuperSpeed mode and there is a need to search for
an endpoint according to the number of required
streams.

[ balbi@ti.com : slight changes to commit log ]

Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 11:41:37 +02:00
Tatyana Brokhman
31ac352192 usb: gadget: use config_ep_by_speed() instead of ep_choose()
Remove obsolete functions:
1. ep_choose()
2. usb_find_endpoint()

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: Changed also the following files to
comply with this commit: f_accessory.c,f_adb.c,f_diag.c,f_mtp.c,
f_rmnet.c,f_rmnet_sdio,f_rmnet_smd,f_rmnet_smd_sdio,f_serial.f_ccid.c.
Also merged a patch in f_serial.c for checking return value of
config_ep_by_speed, see "usb: gadget: fix g_serial regression".
Also fix a bug in ci13xxx_udc. Since f_serial is now checking if the endpoint
descriptors are null in the set_alt function, need to set them to null on
ep_disable in case of cable disconnect. Since the ep descriptor was inserted to
struct usb_ep in "usb: gadget: add usb_endpoint_descriptor to struct usb_ep",
also set mEp->ep.desc to NULL. I have upstream this to the community, please
see "usb: gadget: Clear usb_endpoint_descriptor inside the struct usb_ep" in
the latest linux kernel.]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 11:41:36 +02:00
Tatyana Brokhman
cf64ce4954 usb: gadget: configure endpoint according to gadget speed
Add config_ep_by_speed() to configure the endpoint
according to the gadget speed.

Using this function will spare the FDs from handling
the endpoint chosen descriptor.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 11:41:36 +02:00
Tatyana Brokhman
cf709c115c usb: gadget: add usb_endpoint_descriptor to struct usb_ep
Change usb_ep_enable() prototype to use endpoint
descriptor from usb_ep.

This optimization spares the FDs from saving the
endpoint chosen descriptor. This optimization is
not full though. To fully exploit this change, one
needs to update all the UDCs as well since in the
current implementation each of them saves the
endpoint descriptor in it's internal (and extended)
endpoint structure.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: Added more changes for the following files
since API break with msm code tree: ci13xxx_udc.c,f_accessory,f_adb,
f_diag,f_mtp,f_rmnet,f_rmnet_sdio,f_rmnet_smd, f_rmnet_smd_sdio,u_bam.c,
u_sdio.c,u_rmnet.h,u_sdio.c,u_smd.c,f_ccid.c,u_data_hsic.c]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 11:41:35 +02:00
Felipe Balbi
5177504241 usb: gadget: introduce UDC Class
this class will be used to abstract away several of the duplicated
operations scattered among the USB gadget controller drivers.

Later, we can add an atomic notifier to tell interested drivers about
what's happening with the controller. Notifications such as suspend,
resume, enumerated, etc. will be useful, at a minimum, for implementing
usb charger detection.

As part of the converting process usb_gadget_probe_driver() is no longer
part of each udc but pushed into the ->stap() callback. The same for his
couterpart.

The core is currently set explicit to 'n'. It will be changed to 'y' once
all users are converted since it provides functions which clash with
other drivers.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 10:50:10 +02:00
Sebastian Andrzej Siewior
9bcc83f456 usb: ch9: add function defines from ch9, USB 3.0 spec
not to confuse with Table 9-7 in USB 2.0 spec

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 10:50:10 +02:00
kuninori.morimoto.gx@renesas.com
4f5db5cf5b usb: add usb_endpoint_maxp() macro
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: use __le16_to_cpu instead of le16_to_cpu]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 10:48:43 +02:00
Felipe Balbi
6f33e1af1a usb: dwc3: omap: distinguish between SW and HW modes
The OMAP wrapper allows us to either control internal
OTG signals via SW or HW. Different boards might wish
to use one or the other mode of operation. Let's have
have that information passed via platform_data for now.

After DT conversion is finished for OMAP, we can easily
convert this to a DT attribute.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-03-05 10:35:08 +02:00
Linux Build Service Account
4d088da993 Merge changes I2b676dbe,Ic63a24bf into msm-3.0
* changes:
  gpu: ion: Add API to do cache operations
  gpu: ion: Do not allow cached IOMMU mappings.
2012-03-03 15:40:48 -08:00
Ajay Singh Parmar
4c7ccb3106 msm_fb: display: Use FIR (QSEED) for upscaling.
Low resolution UI is observed on HDTV connected with HDMI.
FIR (QSEED) algorithm needs to be used instead of pixel
repetition to improve the performance in case the BYPASS
composition is not used.

CRs-fixed: 332123
Change-Id: Ib4c2b107b4ae1300458cccc7e8066d31aee50a0d
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
2012-03-03 02:37:18 -07:00
Linux Build Service Account
06eb6c148d Merge "msm: kgsl: Add a new property to IOCTL_KGSL_DEVICE_GETPROPERTY" into msm-3.0 2012-03-03 00:26:25 -08:00
Olav Haugan
41f8579a79 gpu: ion: Add API to do cache operations
Clients need to be able to do cache operations
on ION buffers in the kernel. Add API to
flush, invalidate, or invalidate and flush the
cache of an ION buffer.

Change-Id: I2b676dbe32372b3c17e4aaf39f51878b105a699c
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2012-03-02 17:33:19 -08:00
Anirudh Ghayal
0bcb5b599a input: atmel-mxt-ts: Provide firmware name via platform data
This allows firmware upgrade only when a firmware name is provided.
The platform data (config data) of the latest firmware will point
to a NULL string which prevents auto firmware upgrade at boot
(if enabled by the userspace).

Change-Id: Ifef57a9dab9306cf4f1fe7a6c7e52c5e92a25d4a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2012-03-02 15:08:17 -08:00
Shubhraprakash Das
2dfe5dd0c5 msm: kgsl: Add a new property to IOCTL_KGSL_DEVICE_GETPROPERTY
Return the reset status of the GPU unit when
IOCTL_KGSL_DEVICE_GETPROPERTY is called with
type KGSL_PROP_GPU_RESET_STAT

Change-Id: I4bb17be959eadba3ba491d94c6fd4f5824442e92
Signed-off-by: Shubhraprakash Das<sadas@codeaurora.org>
2012-03-02 13:47:28 -07:00
Linux Build Service Account
9ec5583444 Merge changes I1bfdc1f4,I09735f6e,I57f3333e,I37949113,Ic9e9ca4e into msm-3.0
* changes:
  power: pm8921-bms: add api to simultaneously read vbatt and ibatt
  power: pm8921-bms: calibrate xoadc more often
  power: pm8921-bms: add protection against divide by zero
  power: pm8921-charger: fix 10mv error on vdd_max
  power: pm8921-charger: fix reverse boosting
2012-03-02 12:21:32 -08:00
Linux Build Service Account
bbbc99ac4d Merge changes I810ffac4,If881eb08 into msm-3.0
* changes:
  msm: board-8960-pmic: Add platform data for PWM driver
  mfd: pm8xxx-pwm: Add feature to configure LPG DTEST mode
2012-03-02 12:21:32 -08:00
Abhijeet Dharmapurikar
c9857ca398 power: pm8921-bms: add api to simultaneously read vbatt and ibatt
The compensation algorithms need simultaneous readings of the battery
voltage (vbatt) and the current flowing through it (ibatt).

One needs to put the BMS in override mode to get simultaneous vbatt
and ibatt readings.

Note that since one would need to sleep for 20 milliseconds after the
BMS is put in override mode the spin_lock is changed to mutex in the bms
driver.

Change-Id: I1bfdc1f4e84d5d3c2cd6502dd66afdfba650cc0d
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2012-02-29 21:02:37 -08:00
Abhijeet Dharmapurikar
1b8e8293b6 power: pm8921-bms: calibrate xoadc more often
Improve the values of the battery voltage read from xoadc by periodically
calibrating the xoadc.

The xoadc needs to be calibrated every time a charger is plugged in
or plugged out. This is because the reference voltage shifts a bit
when a charger is plugged in.

Provide an api to calibrate xoadc. This api will be used by the charger
driver.

CRs-Fixed: 334825
Change-Id: I09735f6e5c5d4ab8be379fe001fff81c25c95397
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2012-02-29 21:02:37 -08:00
Jay Chokshi
b0a0fa5b4f mfd: pm8xxx-pwm: Add feature to configure LPG DTEST mode
PM8921 LPG banks can be configured to connect to DTESTx.
These DTEST lines can be used to observe LPG output.
Provide a feature that allows to enable DTEST modes for
a given LPG channel.

CRs-fixed: 337902
Change-Id: If881eb089aea2a66f7324af8ac906405eef4f81a
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2012-02-29 16:39:25 -08:00
Asish Bhattacharya
b86c3477a8 ASoC: wcd9304: Add driver for Sitar codec.
Add support for 5 RX and 4 TX Slimbus channel support.
Headphone/Earphone/4 DMIX/2 AMIC and IIR1 support

Change-Id: I1b7ad5e5fd9d87aab80d6533503371e63df8cc0a
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2012-02-29 15:31:34 -08:00
Asish Bhattacharya
b1aeae22ff ASoC: wcd9xxx: Move to a generic framework for codec core driver.
The current core assumes TABLA as the only codec driver registering.
To support single binary for multiple targets its essential that
we remove this restriction and move to a generic framework
to support multiple codec. This can be done by moving all codec
specific code to dedicated codec driver and use core driver to probe
the codec based on slimbus device id and do generic setup for the
codec. This also helps to have same boards with different flavours
of codec variants.

The WCD9XXX family of codecs share the initial codec register
mapping which holds the Slimbus device id to identify the
codec existing on the target.Core driver now registers the
codec device based on this check.

Change-Id: I4c43d5f04c20696f4f5138411460681ec7879d34
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2012-02-29 15:31:15 -08:00
Linux Build Service Account
8b10049f72 Merge changes I2f562957,I19ff1251 into msm-3.0
* changes:
  msm: 8960/8064: robust battery detection
  power: bms: add desay calibration data
2012-02-28 09:08:40 -08:00
Linux Build Service Account
fb0e686a80 Merge "Merge remote-tracking branch 'kdorfman/emmc_base' into merge/kdorfman" into msm-3.0 2012-02-28 03:17:31 -08:00
David Keitel
35e1187ef9 msm: 8960/8064: robust battery detection
To ensure proper battery id dectection on LiQUID and MTP
use machine_is_msm8960/8064_mtp/cdp to determine which
calibration data to use for battery. If platform is
unknown fall back on regular battery id detection.

Change-Id: I2f5629572d1e5fcac0a2feb114947b91a96f3bf0
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2012-02-27 10:50:41 -08:00
David Keitel
8f2601b9af power: bms: add desay calibration data
Add the calibration data and battery ID information for the
Desay 5200 mAh battery which is used in LiQUID platform
devices.

Change-Id: I19ff1251ee3e71fa71d4fa0c83143d4b7667a80c
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2012-02-27 10:50:22 -08:00
Manu Gautam
91223e07a7 USB: EHCI: msm: Add support for EHCI based Host Controller
This patch adds support for EHCI compliant USB Host Controller
for Liquid on 8064.
This driver supports Host only mode and is different from ehci-msm
which relies on OTG driver for putting hardware in low pwer mode
and PHY initialization as well.

Change-Id: I84b63b2577311900a0b434f53df547bad62f6316
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2012-02-26 09:11:19 -08:00
Linux Build Service Account
a424739f46 Merge changes Ibad3206b,If1742378 into msm-3.0
* changes:
  of/address: add empty static inlines for !CONFIG_OF
  dt: add empty for_each_child_of_node, of_find_property
2012-02-26 04:31:41 -08:00
Linux Build Service Account
0f5c8fab77 Merge "qseecom: Add qseecom Driver" into msm-3.0 2012-02-26 04:31:41 -08:00
Linux Build Service Account
2f4846abae Merge "msm: audio: qdsp5: Add PCM-WB support for VoIP." into msm-3.0 2012-02-25 16:41:31 -08:00
Linux Build Service Account
2df94ab651 Merge "gpu: ion: Add missing argument to iommu map func" into msm-3.0 2012-02-25 12:46:51 -08:00
Linux Build Service Account
3b8582b49c Merge changes Ic0dedbad,Ic0dedbad into msm-3.0
* changes:
  msm: kgsl: A3XX: Use recommended VBIF setings for dual port access
  msm: kgsl: Program both IOMMUs at our disposal on 8064
2012-02-25 12:46:51 -08:00
Mona Hossain
2892b6bf1e qseecom: Add qseecom Driver
This driver is based of the TZCOM (planned to be deprecated soon).
It shares the same design as TZCOM with some re-organization and
new features added. QSEEcom (Qualcomm Secure Execution environment
Communicator) is named accordingly to be consistent with the
nomenclature used in the secure domain. The following additional
features (on top of current TZCOM) driver are implemented:

(1) Add support for multi-image loading.
The image that was loaded in TZCOM was hard-coded to "tzapps".
During a open() tzapps was loaded using pil driver call pil_get().
This severly limted the number of images that could be loaded to
one single application: named "tzapps". qseecom driver provides a
way to load any image on request. Client simply send the image
data in a specific format and this data is sent over to QSEE
(Qualcomm Secure Execution enviroment) to load accordingly.

(2) Add support for multi-client.
TZcom driver did not have provisions to support multiple clients
to interface with the single tzapp image loaded on the secure
domain. The changes added in qseecom driver allows for multiple
client to interface with a single image laoded and running in
secure domain.

(3) Add support for performance tweaking in QSEE
Added capability to send requests to QSEE to set specific clocks
for optimal crypto performance. This essentially will increase
the crypto performance on the secure domain. The crypto
functionality is used extensively by the current existing qseecom
client(s).

(4) Retain legacy support for QSEOS version 1.3.
In order for the existing applications to work with old QSEE image,
qseecom also supports the old mechanism (loading tzapp image via
pil). This was a requirement for existing products that are not
yet using the latest secure code.

Change-Id: I7cf2d62c612cb4d17b33579e66bee44c9844dfda
Signed-off-by: Mona Hossain <mhossain@codeaurora.org>
2012-02-24 11:15:02 -08:00
Olav Haugan
9a27d4c55b gpu: ion: Add missing argument to iommu map func
There exists one definition for ion_map_iommu
function when ION is enabled and one definition when
ION is disabled. The argument list for the definition used
when ION is disabled is missing the buffer_size argument causing
compilation error for targets that call this function without
ION enabled.

Add buffer_size argument to ion_map_iommu function
for targets that does not have ION enabled.

Change-Id: Ie184e4a6dbec2bc3dff75ab3b25985fd64e2baac
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2012-02-23 09:35:16 -08:00
Linux Build Service Account
6c54991991 Merge changes I50ac40e4,Ib318497b into msm-3.0
* changes:
  slim_msm: Remove active channels of a satellite when it restarts
  slimbus: Don't allow a grouped channel to be controlled individually
2012-02-23 06:34:41 -08:00
Sagar Dharia
2e7026aae0 slimbus: Don't allow a grouped channel to be controlled individually
Once client defines a group of channels, it should be only allowed to
be controlled as a group and not individually to avoid synchronization
issues between grouped channels.

Change-Id: Ib318497b2666eb5134a1cb220e5df6569c9fcc2e
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2012-02-22 17:44:04 -07:00
Linux Build Service Account
490f9a3530 Merge "regulator: pm8xxx-regulator: Add control for boost regulators" into msm-3.0 2012-02-22 01:00:12 -08:00
Grant Likely
bad3206b20 of/address: add empty static inlines for !CONFIG_OF
As the title says, this patch adds empty implementations for the address
translation functions so that they can be used when CONFIG_OF is disabled.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
2012-02-21 15:10:14 -08:00
Jordan Crouse
46cf4bb5eb msm: kgsl: Program both IOMMUs at our disposal on 8064
APQ8064 has two AXI ports attached to the GPU with an IOMMU on both.
The VBIF can be programmed to use a round-robin arbitration to access
the ports equally, so we need to program both IOMMUs with the same
pagetable to make sure that the GPU can get where it needs to go.
All this involves a board file infrastructure change that affects 8960
too, but no functional changes are happening for that platform.

Change-Id: Ic0dedbad5198ed9c453711e58a3f1220ef5d5b4e
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-02-21 09:18:31 -07:00
Phani Kumar Allada
f30d6047e6 msm: audio: qdsp5: Add PCM-WB support for VoIP.
Added PCM WB mode support for  VoIP

Change-Id: Ib6e69ee0df7621ad4e85cf3d7412fa2a837a0b1e
Signed-off-by: Phani Kumar Allada <pallad@codeaurora.org>
2012-02-21 16:04:40 +05:30
Linux Build Service Account
3dd0da0800 Merge changes Ia865c101,Ib95f277e,Ic482fcb2 into msm-3.0
* changes:
  msm: 8064: Add support for isa1200 haptic chip
  mfd: pm8xxx-misc: Add function to write aux clock register
  msm: 8064: Add GSBI1 support for I2C QUP devices
2012-02-20 06:36:46 -08:00
Amy Maloche
4c994c91e7 mfd: pm8xxx-misc: Add function to write aux clock register
This call configures the XO to the MP3 clocks. These
clocks route over PMIC gpios and are used as an independent
clock source for MP3, haptics.

Change-Id: Ib95f277eae8bcb9a7e9da12fc5fe2baec4e72493
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2012-02-20 12:14:48 +05:30
Olav Haugan
f6dc774968 gpu: ion: Move MFC heap to different address
Video hardware has the following requirements for
ION heaps:

1. MM heap must be at a higher address than FW heap.
2. MFC heap must at a higher address than FW
3. MM heap must be adjacent to FW heap.
   (There cannot be another heap between FW and MM heap)
4. MM and MFC heap cannot be more than 256MB away
   from the base address of the FW heap.

MM heap is configured as a reusable heap (FMEM heap) and FMEM
is carved out at a much higher address than the other heaps breaking
the above requirements. To support the above requirements the
MFC heap together with the FW heap must be carved out at the same
location as MM heap.

Change-Id: Ie0acb4b267d4307190ea3cd9ff23c710ffa1a538
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2012-02-19 20:26:15 -07:00
Linux Build Service Account
7de67f7399 Merge "mtd: Collect bad block count for ecc stats lazily." into msm-3.0 2012-02-17 06:33:57 -08:00
Linux Build Service Account
c7be8dcc70 Merge changes I5d35dbab,Id1fc19e2 into msm-3.0
* changes:
  msm: Add new partition for IOMMU video domain
  gpu: ion: Lower IOMMU heap priority
2012-02-17 06:33:57 -08:00
Linux Build Service Account
73b9937715 Merge "thermal: msm8960_tsens: Add APQ8064 support" into msm-3.0 2012-02-16 13:55:27 -08:00
Olav Haugan
9e123f98ea gpu: ion: Lower IOMMU heap priority
Video requires the IOMMU heap to be at a lower
priority so that video can try to allocate from
its MM carveout heap first and then if video needs
more memory and the MM heap is exhausted it will
automatically fall back on IOMMU heap.

Change the priority of the IOMMU heap so video
can fall back on IOMMU heap.

Change-Id: Id1fc19e2c3af18ced028132d1a1bdb6a3935380f
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2012-02-16 10:22:47 -08:00
Linux Build Service Account
55af88035a Merge "spmi: Linux driver framework for SPMI" into msm-3.0 2012-02-16 04:54:57 -08:00
Murali Palnati
3e8c3bf6cb mtd: Collect bad block count for ecc stats lazily.
Normally bad block counts for ECC stats are collected during boot time.
This can be done lazily when the ECCGETSTATS ioctl is invoked on the
partition. This can significantly decrease boot time, depending on the
size of the partition. Also rescanning on every ioctl invocation helps
in having the latest bad block count rather than depending on the count
that is collected during boot.

Change-Id: I43d7a769a1d4ef769823d0b5bbe132adb474f892
Signed-off-by: Murali Palnati <palnatim@codeaurora.org>
2012-02-16 09:30:15 +05:30