during suspend, non-boot cpu will be pluged off, and when
the last cpu of big cluster be pluged off, the related cpu
cooling device will be unregistered, it will trigger an
uevent, this will cause early wakeup if there are not enough
time for the uevent to be handled before suspend.
This patch fixes the issue by not unregistering cpu cooling
device during suspend, this may not be a perfect solution.
Signed-off-by: Kevin Wangtao <kevin.wangtao@hisilicon.com>
On the hikey960 platform, only one domain is supported,
and you can see that the media business is all used by the domain created by the ion.
After adding IPU (AI) to Hikey970 platform, it uses its own domain,
so the underlying layer needs to support multiple page mapping of domain,
otherwise IPU and DRM mapping will conflict, resulting in IPU recognition of image failure.
Signed-off-by: Li Wei <liwei213@huawei.com>
Add HiFi DSP support for HiKey970
Signed-off-by: houxiaoyong <houxiaoyong1@huawei.com>
[clean up failure when applying support_hifi.patch]
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Now that we have proper caching, stop setting the DMA address manually.
It should be set after properly calling dma_map.
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 62b3a094cb9e4a3c5a5be4a20b72e0ced3af0e31)
Signed-off-by: Li Wei <liwei213@huawei.com>
Now that we call dma_map in the dma_buf API callbacks there is no need
to use the existing cache APIs. Remove the sync ioctl and the existing
bad dma_sync calls. Explicit caching can be handled with the dma_buf
sync API.
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 5dc3bafb4217e021a38fe67445dac5b659909c36)
Signed-off-by: Li Wei <liwei213@huawei.com>
Technically, calling dma_buf_map_attachment should return a buffer
properly dma_mapped. Add calls to dma_map_sg to begin_cpu_access to
ensure this happens. As a side effect, this lets Ion buffers take
advantage of the dma_buf sync ioctls.
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 2a55e7b5e5446c970e00be1bca8536f4a58bf21c)
Signed-off-by: Li Wei <liwei213@huawei.com>
Ion currently returns a single sg_table on each dma_map call. This is
incorrect for later usage.
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 17fd283f3870dd63c91c99591aab14e21799c119)
Signed-off-by: Li Wei <liwei213@huawei.com>
Bugfix for the commit of a20c7f36bd3d ("PCI: Do not allocate more buses than available in
parent").With this patch enumeration stops digging deeper downstream as soon as bus num 0x01 has been assigned, which is always the case for a bridge device.This results in all devices behind a bridge bus to remain undetected, as these would be connected to bus 0x02 or higher.
Reference to https://patchwork.ozlabs.org/patch/857566/
Signed-off-by: Yao Chen <chenyao11@huawei.com>
Add ARM Cortex A-73 ETM PIDs to the known ETM ips. While at it
also add description of the CPU to which the ETM belongs, to make
it easier to identify the ETM devices.
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
This patch implement the AUX area interfaces required to
use the TMC (configured as an ETR) from the Perf sub-system.
The ETR is configured to work with contiguous memory only.
Although not optimal, it allows the IP block to be used
while the scatter-gather mode of operation is being worked
on.
The heuristic is heavily borrowed from the ETB10 and TMC-ETF
implementation.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
(cherry picked from commit ea817df0ff9e657c2bc1014787562dbf49bfdccd)
Most error branches following the call to alloc_event_data contain a call
to etm_free_aux. This patch add a call to etm_free_aux to an error branch
that does not call it.
This issue was found with Hector.
Signed-off-by: Quentin Lambert <lambert.quentin@gmail.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
(cherry picked from commit 285fb22a8f3b242727da09d43262ef8dfd6424dd)
The tmc_etr_enable_hw() fills the buffer with 0's before enabling
the hardware. So, we don't need an explicit memset() in
tmc_enable_etr_sink_sysfs() before calling the tmc_etr_enable_hw().
This patch removes the explicit memset from tmc_enable_etr_sink_sysfs.
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
(cherry picked from commit 80445970ae1c928e503aefc66033e825b9668884)
Get rid of the superfluous mode parameter and the check for
the mode in tmc_etX_enable_sink_{perf/sysfs}. While at it, also
remove the unnecessary WARN_ON() checks.
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
(cherry picked from commit 63c0930d10ced04a542a526c9641b512d4074f02)
The mode of operation of the TMC tracked in drvdata->mode is defined
as a local_t type. This is always checked and modified under the
drvdata->spinlock and hence we don't need local_t for it and the
unnecessary synchronisation instructions that comes with it. This
change makes the code a bit more cleaner.
Also fixes the order in which we update the drvdata->mode to
CS_MODE_DISABLED. i.e, in tmc_disable_etX_sink we change the
mode to CS_MODE_DISABLED before invoking tmc_disable_etX_hw()
which in turn depends on the mode to decide whether to dump the
trace to a buffer.
Applies on mathieu's coresight/next tree [1]
https://git.linaro.org/kernel/coresight.git next
Reported-by: Venkatesh Vivekanandan <venkatesh.vivekanandan@broadcom.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
(cherry picked from commit 034cd3ad350f05718a11271b64ec7634edafe89a)
When using coresight from the perf interface sinks are specified
as part of the perf command line. As such the sink needs to be
disabled once it has been acknowledged by the coresight framework.
Otherwise the sink stays enabled, which may interfere with other
sessions.
This patch removes the sink selection check from the build path
process and make it a function on it's own. The function is
then used when operating from sysFS or perf to determine what
sink has been selected.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
(cherry picked from commit 286665518b31be5f7b8e27fe7468941438046d16)
allow usb_del_gadget_udc() and usb add_gadget_udc() to be called
repeatedly on the same gadget->dev structure.
We need to clear the gadget->dev structure so that kobject_init()
doesn't complain about already initialized object.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This patch adds the support for ddr devfreq on the kirin970 SoC,
make it possible to control the ddr frequency through devfreq
interface or PMQOS.
Signed-off-by: Kevin Wangtao <kevin.wangtao@hisilicon.com>