This is a partial cherry-pick of just the header changes.
change-Id: Ib1e18a8d40301c553efe0919e11c89ad87d9cfca
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
Bug: 154275330
(cherry picked from commit b1caa8095292da59320a24ee5e9f470af2d0aad4)
Signed-off-by: Saravana Kannan <saravanak@google.com>
This is a partial cherry-pick of just the header changes.
Change-Id: I9f349baa5878f7f2a696dc52f048ead54a831c05
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Bug: 154275330
(cherry picked from commit 5a5e9243e049f05dfa9610a77c4f43c4eddddc64)
Signed-off-by: Saravana Kannan <saravanak@google.com>
Needed for vendors. Do not add to android-5.4+
Change-Id: I3d5df20bab8504938b4b6c958c75e04490ddf543
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Bug: 154267716
Test: compile
Partial cherry picked from commit 5cb59eb5283f6f5a900c3c4971f7efbd83b7e43a
("qcom: Fix compile issue when setting msm_lmh_dcvs as a module")
adjusted: kernel/trace/power-traces.c
skipped: drivers/thermal/qcom/lmh_dbg.h
drivers/thermal/qcom/msm_lmh_dcvs.c
Export the trace symbol -- clock_set_rate -- for the msm_lmh_dcvs
driver.
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: Ic68bc07997d73ba55f9ba7deff7dc7eef320e4bf
(cherry picked from commit 5cb59eb5283f6f5a900c3c4971f7efbd83b7e43a)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 154153737
Allow platform drivers to register with CPU cooling with their frequency
mitigation functions. This allows the platform drivers to provide the
callbacks to get the current ceil limit and to set the floor and ceil
limits for the cpu.
Change-Id: I47960b002bf1bce1cd588de2892de46793a95562
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
(cherry picked from commit 986fde1710c194bede83bf62eb542e6f05af3886)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 154153737
While playback and capture is done concurrently the dapm widget
data is accessed parallelly which results in data corruption and
kernel panic. Fix this problem by serializing the stream event
operation by adding lock
dapm_seq_run will invoke dapm power sequence for pre-sorted list
of widgets to be powered up. Kernel panic issue is observed
during stability runs with the above sequence caused by null
pointer dereference in dapm_seq_run_coalesced. Fix kernel panic
issue by checking for valid snd_soc_dapm_context pointer in
dapm_seq_run before invoking dapm_seq_run_coalesced
Widget list in dapm is getting corrupted during concurrent
use cases where dapm_power_widget is accessed. This corruption
is resulting in kernel crash in dapm. Fix the issue by adding
protection in dapm_power_widgets API.
This change also squashes the below changes-
(1)
ASoC: dapm: fix race condition in dapm
Dirty widget list can be accessed by multiple paths
in dapm framework. Dirty list is protected by dapm mutex.
Since dapm_force_enable_pin function accesses the dirty
list, protect it using the dapm mutex.
(2)
soc-dapm: Fix double mutex lock
dapm_mutex lock is acquired from soc_dapm_force_enable_pin_unlocked
function which will cause double lock because the same mutex is
acquired in soc_dapm_force_enable_pin(). Fix this issue by removing
dapm_mutex acquire from soc_dapm_force_enable_pin_unlocked function.
CRs-Fixed: 388785
Test: build
Bug: 151372815
Change-Id: I49d19860277726cf3152e104ab40627fd56c021c
Signed-off-by: Sriranjan Srikantam <cssrika@codeaurora.org>
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
(cherry picked from commit 853ed7c58fd03dd1b024f30a20f69a8df06cceed)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Microphone2 and SND_JACK_BTN_5 enum are same, resulting
in SND_JACK_BTN_5 event getting triggered when ANC headset
is plugged into the device.
Use unique values in sound jack type enum.
Test: build
Bug: 151372815
Change-Id: I668e50afcad11b1f62f511f4241f79bad858c7d2
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
(cherry picked from commit ce59edee66bf7ce6ea7d0baee51c2cbd18685521)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
ALSA jack framework currently supports reporting only
one single microphone. Add support to report presence of
the second microphone to userspace.
Test: build
Bug: 149430094
Change-Id: I72d16892f2fa563c026bf90d847d9365dcf2233a
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
(cherry picked from commit b071d2a1b2a52b1f13ae14769e473f1ee4f66702)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Change adds support for jack switch types supported
by platform.
This change also squashes the below changes-
include: increase allowed SW INPUT device ID from 15 to 32
Increase the Input device SW ID from 15 to 32. This is needed
to accommodate more input devices.
Test: build
Bug: 149430094
Change-Id: If77f8b37b4db72ada2b5d8a3095265eef90ab62b
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
(cherry picked from commit 3e70a3037a39604d697282be829845a63dce191d)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Change updates the jack types that will be supported
by the platforms.
Test: build
Bug: 151372815
Change-Id: I948c6ffe4cc2cadd710242637c625006715ff7cc
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
(cherry picked from commit e7fcc54d6dd81ea5d24ac01202ace1738026a3ba)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Add support for USB atomic notifier callbacks when host controller
drivers reports death of controller on some fatal error.
Current implementation doesn't help to recover from this condition.
Controller platform drivers can register for this callback and take
necessary steps to reset and add hcd again.
Bug: 152001148
Test: Builds
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
(cherry picked from commit b31fc5d2047a5f62e3044e4862994fa07fcaf959)
Signed-off-by: Sandeep Patil <sspatil@google.com>
Change-Id: Ie9064e669424096fee8c35cddccab29faf60cc6b
Signed-off-by: Will McVicker <willmcvicker@google.com>
Few userspace clients and drivers need more frames and
hence increase video max frame number from 32 to 64.
Bug: 143356419
Change-Id: Ib5394b7b71d75177234333dae23ec30fea01450f
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
(cherry picked from commit e81694723a)
Bug: 154168148
Signed-off-by: Connor O'Brien <connoro@google.com>
Many nvmem providers are not very keen on having default sysfs
nvmem entry, as most of the usecases for them are inside kernel
itself. And in some cases read/writes to some areas in nvmem are
restricted and trapped at secure monitor level, so accessing them
from userspace would result in board reboots.
This patch adds new NVMEM_SYSFS Kconfig to make binary sysfs entry
an optional one. This provision will give more flexibility to users.
This patch also moves existing sysfs code to a new file so that its
not compiled in when its not really required.
Bug: 154188491
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Gaurav Kohli <gkohli@codeaurora.org>
Tested-by: Gaurav Kohli <gkohli@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ae0c2d7255)
Signed-off-by: Will McVicker <willmcvicker@google.com>
[willmcvicker: resolved trivial merge conflicts]
Change-Id: I648edb8d43fc7c2437c415b999c41657a6d11554
Add new structs and routines allowing users to define nvmem cells from
machine code. This global list of entries is parsed when a provider
is registered and cells are associated with the relevant nvmem_device
struct.
A possible improvement for the future is to allow users to register
cell tables after the nvmem provider has been registered by updating
the cell list at each call to nvmem_(add|del)_cell_table().
Bug: 154188491
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b985f4cba6)
Signed-off-by: Will McVicker <willmcvicker@google.com>
[willmcvicker: fix trivial merge conflicts]
Change-Id: I4070c4c5d12aa9f555e55ec1f5edccee6395ca7b
Nvmem subsystem keeps a global list of cells that, for non-DT systems,
can only be referenced by cell name, which makes it impossible to have
more than one nvmem device with cells named the same.
This patch makes every nvmem device the owner of the list of its cells.
This effectively removes the support for non-DT systems, but it will
be reintroduced following a different approach in subsequent patches.
This isn't a problem as support for board files in nvmem is currently
broken anyway: any user that would try to get an nvmem cell from the
global cell list would remove the cell after the calling
nvmem_cell_put(). This can cause anything from a subsequent user not
being able to get the cell to double free errors if more users hold
reference to the same cell at the same time.
Fortunately there are no such users which allows us to rework this part.
Bug: 154188491
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c7235ee3f4)
Signed-off-by: Will McVicker <willmcvicker@google.com>
[willmcvicker: fix trivial merge conflicts]
Change-Id: Ibedab956757f5eb94c3c6ff3a1476121624a9234
Use kref for reference counting. Use an approach similar to the one
seen in the common clock subsystem: don't actually destroy the nvmem
device until the last user puts it. This way we can get rid of the
users check from nvmem_unregister().
Bug: 154188491
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c1de7f43bd)
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I4c05a0614255d72163b79526324e41dd4b0100ef
Use the provided helper for iterating over list entries without having
to use the list_entry() macro.
Bug: 154188491
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 1852183e14)
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: Ied3a7cd16d39e1adf977a4f0ca9c3ce23ca080ef
Kernel users don't have any means of checking the names of nvmem
devices. Add a routine that returns the name of the nvmem provider.
This will be useful for future nvmem notifier subscribers - otherwise
they can't check what device is being added/removed.
Bug: 154188491
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d7b9fd1669)
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: Iecea6bb4844e87eadd4225b08c789a58029438d9
Needed to align the enum lists with vendor expectations.
(cherry picked from various)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 154120209
Change-Id: I71fe27297db4352ef9f4b87db978dc2d6e8e0bc8
incfs only syncs at createfile time. This was making createfile take
a very long time. It also appears to offer little actual value -
whether we flush or no, if the device crashes the header will be
partial.
Bug: 15356649
Test: incfs_test passes, createfile takes less than half the time
Change-Id: I8f1fa138226868ebfb4a6a41254444af453070c8
Signed-off-by: Paul Lawrence <paullawrence@google.com>
(cherry picked from commit 4cc78c93ad)
This was added to build.config.common in all of the other branches but
not this one during the build.config refactor. Without this, it is
possible to get different build results across host environments.
Change-Id: Ie72dd902adfa4b3d8fed8bfbadf13a78cf55f1fa
Fixes: f04f84fdeb ("ANDROID: refactor build.config files to remove duplication")
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Currently, kheaders_data.tar.xz contains some build scripts as well as
headers. None of them is needed in the header archive.
For ARCH=x86, this commit excludes the following from the archive:
arch/x86/include/asm/Kbuild
arch/x86/include/uapi/asm/Kbuild
include/asm-generic/Kbuild
include/config/auto.conf
include/config/kernel.release
include/config/tristate.conf
include/uapi/asm-generic/Kbuild
include/uapi/Kbuild
kernel/gen_kheaders.sh
This change is actually motivated for the planned header compile-testing
because it will generate more build artifacts, which should not be
included in the archive.
Change-Id: I688e041842740216cace0373ca9f358bc7704809
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
(cherry picked from commit 7199ff7d74)
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
The -R option of 'ls' is supposed to be used for directories.
-R, --recursive
list subdirectories recursively
Since 'find ... -type f' only matches to regular files, we do not
expect directories passed to the 'ls' command here.
Giving -R is harmless at least, but unneeded.
Change-Id: I73588f18e40824ccecc4149fbc467015b5c5e142
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
(cherry picked from commit b60b7c2ea9)
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Add support for notfier of panel blank/unblank events.
This allows external drivers such as touch, backlight
drivers etc to subscribe to panel related events.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: I3ac644c1c931b959a511ee4a999a417a4b7bdcd1
Add support into the drm_mipi_dsi framework to support
unicasting DCS commands to specific DSI controls within a panel.
This is required for partial update where region of interest
spans only on one controller in a dual controller configuration.
Also, Some display panel have the requirement of waiting for certain
duration before dsi host can read back the response from panel during
a DCS read command. This change adds the support to store
the delay required in dsi message structure.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: I3a99437441410a2514f9486d08ae3ba68670769e
Increase drm property count from 24 to 64 to make
room for custom properties of drm plane and drm
crtc objects.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: I3e42c1fc684d7d7cea828fc35b96673bdef598f4
Create a new connector property to program colorspace to sink
devices. Modern sink devices support more than 1 type of
colorspace like 601, 709, BT2020 etc. This helps to switch
based on content type which is to be displayed. The decision
lies with compositors as to in which scenarios, a particular
colorspace will be picked.
This will be helpful mostly to switch to higher gamut colorspaces
like BT2020 when the media content is encoded as BT2020. Thereby
giving a good visual experience to users.
The expectation from userspace is that it should parse the EDID
and get supported colorspaces. Use this property and switch to the
one supported. Sink supported colorspaces should be retrieved by
userspace from EDID and driver will not explicitly expose them.
Basically the expectation from userspace is:
- Set up CRTC DEGAMMA/CTM/GAMMA to convert to some sink
colorspace
- Set this new property to let the sink know what it
converted the CRTC output to.
v2: Addressed Maarten and Ville's review comments. Enhanced
the colorspace enum to incorporate both HDMI and DP supported
colorspaces. Also, added a default option for colorspace.
v3: Removed Adobe references from enum definitions as per
Ville, Hans Verkuil and Jonas Karlman suggestions. Changed
Default to an unset state where driver will assign the colorspace
is not chosen by user, suggested by Ville and Maarten. Addressed
other misc review comments from Maarten. Split the changes to
have separate colorspace property for DP and HDMI.
v4: Addressed Chris and Ville's review comments, and created a
common colorspace property for DP and HDMI, filtered the list
based on the colorspaces supported by the respective protocol
standard.
v5: Made the property creation helper accept enum list based on
platform capabilties as suggested by Shashank. Consolidated HDMI
and DP property creation in the common helper.
v6: Addressed Shashank's review comments.
v7: Added defines instead of enum in uapi as per Brian Starkey's
suggestion in order to go with string matching at userspace. Updated
the commit message to add more details as well kernel docs.
v8: Addressed Maarten's review comments.
v9: Removed macro defines from uapi as per Brian Starkey and Daniel
Stone's comments and moved to drm include file. Moved back to older
design with exposing all HDMI colorspaces to userspace since infoframe
capability is there even on legacy platforms, as per Ville's review
comments.
v10: Fixed sparse warnings, updated the RB from Maarten and Jani's ack.
v11: Addressed Ville's review comments. Updated the Macro naming and
added DCI-P3 colorspace as well, defined in CTA 861.G spec.
v12: Appended BT709 and SMPTE 170M with YCC information as per Ville's
review comment to be clear and not to be confused with RGB.
v13: Reorder the colorspace macros.
v14: Removed DP as of now, will be added later once full support is
enabled, as per Ville's suggestion. Added Ville's RB.
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1550596381-993-2-git-send-email-uma.shankar@intel.com
(cherry picked from commit d2c6a40584)
[adelva: drm_atomic_uapi.c -> drm_atomic.c as part of 4.19 backport]
Bug: 152417756
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: I3f0ed13c513efc5d77f458d98f820d071a8a3a09
Add support for parsing additional cea extension blocks
such as CEA HDR metadata block, VCDB block, Colorimetry
data block and VSVDB.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: Iae84749b816cd8bc0f598654c018cde475a31df9
HDR metadata block is introduced in CEA-861.3 spec.
Parsing the same to get the panel's HDR metadata.
v2: Rebase and added Ville's POC changes to the patch.
v3: No Change
v4: Addressed Shashank's review comments
v5: Addressed Shashank's comment and added his RB.
v6: Addressed Jonas Karlman review comments.
v7: Adressed Ville's review comments and fixed the issue
with length handling.
v8: Put the length check as per the convention followed in
existing code, as suggested by Ville.
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1558015817-12025-4-git-send-email-uma.shankar@intel.com
(cherry picked from commit e85959d6cb)
Bug: 152417756
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ie6a5f4d456109486118d148767239f455e4003c3
This patch adds a blob property to get HDR metadata
information from userspace. This will be send as part
of AVI Infoframe to panel.
It also implements get() and set() functions for HDR output
metadata property.The blob data is received from userspace and
saved in connector state, the same is returned as blob in get
property call to userspace.
v2: Rebase and modified the metadata structure elements
as per Ville's POC changes.
v3: No Change
v4: Addressed Shashank's review comments
v5: Rebase.
v6: Addressed Brian Starkey's review comments, defined
new structure with header for dynamic metadata scalability.
Merge get/set property functions for metadata in this patch.
v7: Addressed Jonas Karlman review comments and defined separate
structure for infoframe to better align with CTA 861.G spec. Added
Shashank's RB.
v8: Addressed Ville's review comments. Moved sink metadata structure
out of uapi headers as suggested by Jonas Karlman.
v9: Rebase and addressed Jonas Karlman review comments.
v10: Addressed Ville's review comments, dropped the metdata_changed
state variable as its not needed anymore.
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1558015817-12025-2-git-send-email-uma.shankar@intel.com
(cherry picked from commit fbb5d0353c)
Bug: 152417756
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ifa4950c6d27a9652fa91f1913cb145be0d555ae4
As of DP1.4, ENUM_PATH_RESOURCES returns a bit indicating
if FEC can be supported up to that point in the MST network.
The bit is the first byte of the ENUM_PATH_RESOURCES ack reply,
bottom-most bit (refer to section 2.11.9.4 of DP standard,
v1.4)
That value is needed for FEC and DSC support
Store it on drm_dp_mst_port
Reviewed-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: David Francis <David.Francis@amd.com>
Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit a3c2b0ffc0)
Bug: 152417756
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ie5b5d16aec40b36e58fda0d1a8aa58aa85fdd984
Leaf changes summary: 119 artifacts changed
Changed leaf types summary: 12 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 4 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 103 Added variables
4 Added functions:
[A] 'function int drm_mode_create_colorspace_property(drm_connector*)'
[A] 'function int drm_panel_notifier_call_chain(drm_panel*, unsigned long int, void*)'
[A] 'function int drm_panel_notifier_register(drm_panel*, notifier_block*)'
[A] 'function int drm_panel_notifier_unregister(drm_panel*, notifier_block*)'
103 Added variables:
[A] 'cpumask __cpu_isolated_mask'
[A] 'cpumask __cpu_online_mask'
[A] 'cpumask __cpu_possible_mask'
[A] 'cpumask __cpu_present_mask'
[A] 'unsigned long int __per_cpu_offset[32]'
[A] 'unsigned long int __stack_chk_guard'
[A] 'tracepoint __tracepoint_clock_set_rate'
[A] 'tracepoint __tracepoint_dma_fence_emit'
[A] 'tracepoint __tracepoint_smmu_init'
[A] 'tracepoint __tracepoint_tlbi_end'
[A] 'tracepoint __tracepoint_tlbi_start'
[A] 'tracepoint __tracepoint_tlbsync_timeout'
[A] 'tracepoint __tracepoint_xdp_exception'
[A] 'const unsigned char _ctype[256]'
[A] 'bus_type amba_bustype'
[A] 'void ()* arch_read_hardware_id'
[A] 'static_key_false arch_timer_read_ool_enabled'
[A] 'static_key_false arm64_const_caps_ready'
[A] 'void ()* arm_pm_restart'
[A] 'u32 audit_enabled'
[A] 'unsigned int boot_reason'
[A] 'br_should_route_hook_t* br_should_route_hook'
[A] 'const clk_ops clk_fixed_factor_ops'
[A] 'const clk_ops clk_fixed_rate_ops'
[A] 'unsigned int cold_boot'
[A] 'pglist_data contig_page_data'
[A] 'const unsigned long int cpu_bit_bitmap[65][1]'
[A] 'static_key_false cpu_hwcap_keys[62]'
[A] 'unsigned long int cpu_hwcaps[1]'
[A] 'int cpu_number'
[A] 'bus_type cpu_subsys'
[A] 'cpu_topology cpu_topology[32]'
[A] 'freq_attr cpufreq_freq_attr_scaling_available_freqs'
[A] 'freq_attr cpufreq_freq_attr_scaling_boost_freqs'
[A] 'freq_attr* cpufreq_generic_attr[2]'
[A] 'cpuidle_device cpuidle_dev'
[A] 'const skb_checksum_ops* crc32c_csum_stub'
[A] 'const u16 crc_ccitt_table[256]'
[A] 'const crypto_type crypto_ablkcipher_type'
[A] 'const crypto_type crypto_ahash_type'
[A] 'cma* dma_contiguous_default_area'
[A] 'const dma_fence_ops dma_fence_array_ops'
[A] 'void ()* do_tlb_conf_fault_cb'
[A] 'unsigned int drm_debug'
[A] 'const dma_map_ops dummy_dma_ops'
[A] 'flow_dissector flow_keys_basic_dissector'
[A] 'bio_set fs_bio_set'
[A] 'const icmp_err icmp_err_convert[16]'
[A] 'net init_net'
[A] 'uts_namespace init_uts_ns'
[A] 'resource iomem_resource'
[A] 'kobject* kernel_kobj'
[A] 'u64 kimage_voffset'
[A] 'kmem_cache* kmalloc_caches[2][14]'
[A] 'const char linux_banner[382]'
[A] 's64 memstart_addr'
[A] 'unsigned long int mmap_min_addr'
[A] 'kset* module_kset'
[A] 'kobj_type module_ktype'
[A] 'const nf_br_ops* nf_br_ops'
[A] 'static_key nf_hooks_needed[13][5]'
[A] 'const nf_ipv6_ops* nf_ipv6_ops'
[A] 'unsigned int nr_cpu_ids'
[A] 'atomic_long_t nr_swap_pages'
[A] 'const fwnode_operations of_fwnode_ops'
[A] 'int overflowuid'
[A] 'atomic_notifier_head panic_notifier_list'
[A] 'int panic_timeout'
[A] 'const kernel_param_ops param_ops_bint'
[A] 'const kernel_param_ops param_ops_bool'
[A] 'const kernel_param_ops param_ops_byte'
[A] 'const kernel_param_ops param_ops_charp'
[A] 'const kernel_param_ops param_ops_int'
[A] 'const kernel_param_ops param_ops_long'
[A] 'const kernel_param_ops param_ops_string'
[A] 'const kernel_param_ops param_ops_uint'
[A] 'bus_type pci_bus_type'
[A] 'int percpu_counter_batch'
[A] 'bus_type platform_bus_type'
[A] 'bool pm_freezing'
[A] 'void ()* pm_power_off'
[A] 'kobject* power_kobj'
[A] 'ww_class reservation_ww_class'
[A] 'static_key rfs_needed'
[A] 'u32 rps_cpu_mask'
[A] 'rps_sock_flow_table* rps_sock_flow_table'
[A] 'char* saved_command_line'
[A] 'const snd_pcm_chmap_elem snd_pcm_alt_chmaps[6]'
[A] 'const snd_pcm_chmap_elem snd_pcm_std_chmaps[6]'
[A] 'const dev_pm_ops snd_soc_pm_ops'
[A] 'timezone sys_tz'
[A] 'workqueue_struct* system_freezable_wq'
[A] 'atomic_t system_freezing_cnt'
[A] 'workqueue_struct* system_highpri_wq'
[A] 'workqueue_struct* system_long_wq'
[A] 'system_states system_state'
[A] 'workqueue_struct* system_unbound_wq'
[A] 'workqueue_struct* system_wq'
[A] 'const arch_timer_erratum_workaround* timer_unstable_counter_workaround'
[A] 'unsigned long int totalram_pages'
[A] 'const v4l2_file_operations v4l2_subdev_fops'
[A] 'const vb2_mem_ops vb2_vmalloc_memops'
[A] 'void ()* vendor_panic_cb'
'struct drm_connector at drm_connector.h:781:1' changed:
type size changed from 8448 to 14464 (in bits)
20 data member insertions:
'drm_property* drm_connector::colorspace_property', at offset 11136 (in bits) at drm_connector.h:965:1
'u8 drm_connector::pt_scan_info', at offset 13088 (in bits) at drm_connector.h:1079:1
'u8 drm_connector::it_scan_info', at offset 13096 (in bits) at drm_connector.h:1080:1
'u8 drm_connector::ce_scan_info', at offset 13104 (in bits) at drm_connector.h:1081:1
'u32 drm_connector::color_enc_fmt', at offset 13120 (in bits) at drm_connector.h:1082:1
'u32 drm_connector::hdr_eotf', at offset 13152 (in bits) at drm_connector.h:1083:1
'bool drm_connector::hdr_metadata_type_one', at offset 13184 (in bits) at drm_connector.h:1084:1
'u32 drm_connector::hdr_max_luminance', at offset 13216 (in bits) at drm_connector.h:1085:1
'u32 drm_connector::hdr_avg_luminance', at offset 13248 (in bits) at drm_connector.h:1086:1
'u32 drm_connector::hdr_min_luminance', at offset 13280 (in bits) at drm_connector.h:1087:1
'bool drm_connector::hdr_supported', at offset 13312 (in bits) at drm_connector.h:1088:1
'u8 drm_connector::hdr_plus_app_ver', at offset 13320 (in bits) at drm_connector.h:1089:1
'int drm_connector::max_tmds_char', at offset 13344 (in bits) at drm_connector.h:1101:1
'bool drm_connector::scdc_present', at offset 13376 (in bits) at drm_connector.h:1102:1
'bool drm_connector::rr_capable', at offset 13384 (in bits) at drm_connector.h:1103:1
'bool drm_connector::supports_scramble', at offset 13392 (in bits) at drm_connector.h:1104:1
'int drm_connector::flags_3d', at offset 13408 (in bits) at drm_connector.h:1105:1
'hdr_output_metadata drm_connector::hdr_output_metadata', at offset 14016 (in bits) at drm_connector.h:1177:1
'hdr_sink_metadata drm_connector::hdr_sink_metadata', at offset 14272 (in bits) at drm_connector.h:1178:1
'drm_panel* drm_connector::panel', at offset 14400 (in bits) at drm_connector.h:1185:1
there are data member changes:
type 'struct drm_object_properties' of 'drm_connector::properties' changed:
type size changed from 3136 to 8256 (in bits)
there are data member changes:
type 'drm_property*[24]' of 'drm_object_properties::properties' changed:
type name changed from 'drm_property*[24]' to 'drm_property*[64]'
array type size changed from 1536 to 4096
array type subrange 1 changed length from 24 to 64
and size changed from 1536 to 4096 (in bits) (by +2560 bits)
type 'uint64_t[24]' of 'drm_object_properties::values' changed:
type name changed from 'uint64_t[24]' to 'uint64_t[64]'
array type size changed from 1536 to 4096
array type subrange 1 changed length from 24 to 64
and offset changed from 1600 to 4160 (in bits) (by +2560 bits), size changed from 1536 to 4096 (in bits) (by +2560 bits)
192 impacted interfaces
and size changed from 3136 to 8256 (in bits) (by +5120 bits)
'drm_property* drm_connector::scaling_mode_property' offset changed from 5888 to 11008 (in bits) (by +5120 bits)
'drm_property* drm_connector::content_protection_property' offset changed from 5952 to 11072 (in bits) (by +5120 bits)
'drm_property_blob* drm_connector::path_blob_ptr' offset changed from 6016 to 11200 (in bits) (by +5184 bits)
'uint8_t drm_connector::polled' offset changed from 6080 to 11264 (in bits) (by +5184 bits)
'int drm_connector::dpms' offset changed from 6112 to 11296 (in bits) (by +5184 bits)
'const drm_connector_helper_funcs* drm_connector::helper_private' offset changed from 6144 to 11328 (in bits) (by +5184 bits)
'drm_cmdline_mode drm_connector::cmdline_mode' offset changed from 6208 to 11392 (in bits) (by +5184 bits)
'drm_connector_force drm_connector::force' offset changed from 6432 to 11616 (in bits) (by +5184 bits)
'bool drm_connector::override_edid' offset changed from 6464 to 11648 (in bits) (by +5184 bits)
'uint32_t drm_connector::encoder_ids[3]' offset changed from 6496 to 11680 (in bits) (by +5184 bits)
'drm_encoder* drm_connector::encoder' offset changed from 6592 to 11776 (in bits) (by +5184 bits)
'uint8_t drm_connector::eld[128]' offset changed from 6656 to 11840 (in bits) (by +5184 bits)
'bool drm_connector::latency_present[2]' offset changed from 7680 to 12864 (in bits) (by +5184 bits)
'int drm_connector::video_latency[2]' offset changed from 7712 to 12896 (in bits) (by +5184 bits)
'int drm_connector::audio_latency[2]' offset changed from 7776 to 12960 (in bits) (by +5184 bits)
'int drm_connector::null_edid_counter' offset changed from 7840 to 13024 (in bits) (by +5184 bits)
'unsigned int drm_connector::bad_edid_counter' offset changed from 7872 to 13056 (in bits) (by +5184 bits)
'bool drm_connector::edid_corrupt' offset changed from 7904 to 13440 (in bits) (by +5536 bits)
'dentry* drm_connector::debugfs_entry' offset changed from 7936 to 13504 (in bits) (by +5568 bits)
'drm_connector_state* drm_connector::state' offset changed from 8000 to 13568 (in bits) (by +5568 bits)
'drm_property_blob* drm_connector::tile_blob_ptr' offset changed from 8064 to 13632 (in bits) (by +5568 bits)
'bool drm_connector::has_tile' offset changed from 8128 to 13696 (in bits) (by +5568 bits)
'drm_tile_group* drm_connector::tile_group' offset changed from 8192 to 13760 (in bits) (by +5568 bits)
'bool drm_connector::tile_is_single_monitor' offset changed from 8256 to 13824 (in bits) (by +5568 bits)
'uint8_t drm_connector::num_h_tile' offset changed from 8264 to 13832 (in bits) (by +5568 bits)
'uint8_t drm_connector::num_v_tile' offset changed from 8272 to 13840 (in bits) (by +5568 bits)
'uint8_t drm_connector::tile_h_loc' offset changed from 8280 to 13848 (in bits) (by +5568 bits)
'uint8_t drm_connector::tile_v_loc' offset changed from 8288 to 13856 (in bits) (by +5568 bits)
'uint16_t drm_connector::tile_h_size' offset changed from 8304 to 13872 (in bits) (by +5568 bits)
'uint16_t drm_connector::tile_v_size' offset changed from 8320 to 13888 (in bits) (by +5568 bits)
'llist_node drm_connector::free_node' offset changed from 8384 to 13952 (in bits) (by +5568 bits)
192 impacted interfaces
'struct drm_connector_state at drm_connector.h:382:1' changed:
type size changed from 960 to 1088 (in bits)
2 data member insertions:
'u32 drm_connector_state::colorspace', at offset 896 (in bits) at drm_connector.h:485:1
'drm_property_blob* drm_connector_state::hdr_output_metadata', at offset 1024 (in bits) at drm_connector.h:505:1
there are data member changes:
'drm_writeback_job* drm_connector_state::writeback_job' offset changed from 896 to 960 (in bits) (by +64 bits)
192 impacted interfaces
'struct drm_crtc at drm_crtc.h:816:1' changed:
type size changed from 9792 to 14912 (in bits)
there are data member changes:
type 'struct drm_object_properties' of 'drm_crtc::properties' changed as reported earlier
and size changed from 3136 to 8256 (in bits) (by +5120 bits)
'drm_crtc_state* drm_crtc::state' offset changed from 8576 to 13696 (in bits) (by +5120 bits)
'list_head drm_crtc::commit_list' offset changed from 8640 to 13760 (in bits) (by +5120 bits)
'spinlock_t drm_crtc::commit_lock' offset changed from 8768 to 13888 (in bits) (by +5120 bits)
'drm_crtc_crc drm_crtc::crc' offset changed from 8832 to 13952 (in bits) (by +5120 bits)
'unsigned int drm_crtc::fence_context' offset changed from 9408 to 14528 (in bits) (by +5120 bits)
'spinlock_t drm_crtc::fence_lock' offset changed from 9440 to 14560 (in bits) (by +5120 bits)
'unsigned long int drm_crtc::fence_seqno' offset changed from 9472 to 14592 (in bits) (by +5120 bits)
'char drm_crtc::timeline_name[32]' offset changed from 9536 to 14656 (in bits) (by +5120 bits)
192 impacted interfaces
'struct drm_device at drm_device.h:31:1' changed:
type size changed from 13312 to 13376 (in bits)
there are data member changes:
type 'struct drm_mode_config' of 'drm_device::mode_config' changed:
type size changed from 8192 to 8256 (in bits)
1 data member insertion:
'drm_property* drm_mode_config::hdr_output_metadata_property', at offset 7808 (in bits) at drm_mode_config.h:815:1
there are data member changes:
'uint32_t drm_mode_config::preferred_depth' offset changed from 7808 to 7872 (in bits) (by +64 bits)
'uint32_t drm_mode_config::prefer_shadow' offset changed from 7840 to 7904 (in bits) (by +64 bits)
'bool drm_mode_config::async_page_flip' offset changed from 7872 to 7936 (in bits) (by +64 bits)
'bool drm_mode_config::allow_fb_modifiers' offset changed from 7880 to 7944 (in bits) (by +64 bits)
'bool drm_mode_config::normalize_zpos' offset changed from 7888 to 7952 (in bits) (by +64 bits)
'drm_property* drm_mode_config::modifiers_property' offset changed from 7936 to 8000 (in bits) (by +64 bits)
'uint32_t drm_mode_config::cursor_width' offset changed from 8000 to 8064 (in bits) (by +64 bits)
'uint32_t drm_mode_config::cursor_height' offset changed from 8032 to 8096 (in bits) (by +64 bits)
'drm_atomic_state* drm_mode_config::suspend_state' offset changed from 8064 to 8128 (in bits) (by +64 bits)
'const drm_mode_config_helper_funcs* drm_mode_config::helper_private' offset changed from 8128 to 8192 (in bits) (by +64 bits)
192 impacted interfaces
and size changed from 8192 to 8256 (in bits) (by +64 bits)
'mutex drm_device::object_name_lock' offset changed from 12672 to 12736 (in bits) (by +64 bits)
'idr drm_device::object_name_idr' offset changed from 12928 to 12992 (in bits) (by +64 bits)
'drm_vma_offset_manager* drm_device::vma_offset_manager' offset changed from 13120 to 13184 (in bits) (by +64 bits)
'int drm_device::switch_power_state' offset changed from 13184 to 13248 (in bits) (by +64 bits)
'drm_fb_helper* drm_device::fb_helper' offset changed from 13248 to 13312 (in bits) (by +64 bits)
192 impacted interfaces
'struct drm_dp_enum_path_resources_ack_reply at drm_dp_mst_helper.h:292:1' changed:
type size hasn't changed
1 data member insertion:
'bool drm_dp_enum_path_resources_ack_reply::fec_capable', at offset 8 (in bits) at drm_dp_mst_helper.h:296:1
16 impacted interfaces
'struct drm_dp_mst_port at drm_dp_mst_helper.h:69:1' changed:
type size hasn't changed
1 data member insertion:
'bool drm_dp_mst_port::fec_capable', at offset 11208 (in bits) at drm_dp_mst_helper.h:102:1
16 impacted interfaces
'struct drm_mode_config at drm_mode_config.h:352:1' changed:
details were reported earlier
'struct drm_object_properties at drm_mode_object.h:67:1' changed:
details were reported earlier
'struct drm_panel at drm_panel.h:89:1' changed:
type size changed from 384 to 832 (in bits)
1 data member insertion:
'blocking_notifier_head drm_panel::nh', at offset 384 (in bits) at drm_panel.h:120:1
4 impacted interfaces
'struct drm_plane at drm_plane.h:535:1' changed:
type size changed from 5184 to 10304 (in bits)
there are data member changes:
type 'struct drm_object_properties' of 'drm_plane::properties' changed as reported earlier
and size changed from 3136 to 8256 (in bits) (by +5120 bits)
'drm_plane_type drm_plane::type' offset changed from 4672 to 9792 (in bits) (by +5120 bits)
'unsigned int drm_plane::index' offset changed from 4704 to 9824 (in bits) (by +5120 bits)
'const drm_plane_helper_funcs* drm_plane::helper_private' offset changed from 4736 to 9856 (in bits) (by +5120 bits)
'drm_plane_state* drm_plane::state' offset changed from 4800 to 9920 (in bits) (by +5120 bits)
'drm_property* drm_plane::alpha_property' offset changed from 4864 to 9984 (in bits) (by +5120 bits)
'drm_property* drm_plane::zpos_property' offset changed from 4928 to 10048 (in bits) (by +5120 bits)
'drm_property* drm_plane::rotation_property' offset changed from 4992 to 10112 (in bits) (by +5120 bits)
'drm_property* drm_plane::color_encoding_property' offset changed from 5056 to 10176 (in bits) (by +5120 bits)
'drm_property* drm_plane::color_range_property' offset changed from 5120 to 10240 (in bits) (by +5120 bits)
192 impacted interfaces
'struct mipi_dsi_msg at drm_mipi_dsi.h:35:1' changed:
type size changed from 320 to 384 (in bits)
2 data member insertions:
'u32 mipi_dsi_msg::ctrl', at offset 32 (in bits) at drm_mipi_dsi.h:43:1
'u32 mipi_dsi_msg::wait_ms', at offset 64 (in bits) at drm_mipi_dsi.h:44:1
there are data member changes:
'size_t mipi_dsi_msg::tx_len' offset changed from 64 to 128 (in bits) (by +64 bits)
'void* mipi_dsi_msg::tx_buf' offset changed from 128 to 192 (in bits) (by +64 bits)
'size_t mipi_dsi_msg::rx_len' offset changed from 192 to 256 (in bits) (by +64 bits)
'void* mipi_dsi_msg::rx_buf' offset changed from 256 to 320 (in bits) (by +64 bits)
3 impacted interfaces
'union ack_replies at drm_dp_mst_helper.h:340:1' changed:
type size hasn't changed
there are data member changes:
type 'struct drm_dp_enum_path_resources_ack_reply' of 'ack_replies::path_resources' changed as reported earlier
16 impacted interfaces
Bug: 152417756
Test: Build only
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: I5c07121ba8f4041bfc200c05d04ecf1d25ee9c24
Add the definitions for various DPCD register offsets and
corresponding parameter values for DP Link compliance tests
for PHY audio/link training/link status tests.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: If6aa7d9b77e6234780086f27515c346b6495a46f
DRM framework does not have upper bound on number of open
file descriptors, this resulted in exhaustion
of file descriptors while fuzzing. Also, adding a
upper bound on memory allocation for
drm_propert_blob structure.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: I42bd3696371db6ae37789e3f7f43db045e166898
Add QCOM modifiers to support frame buffer size
calculations for linear and compressed tp10 format
and a5x tile pixel formats.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: If2c5777514130f5f1dfeadf241af06b7adc9429c
Add two dsi mode flag namely MIPI_DSI_MODE_VIDEO_BLLP
and MIPI_DSI_MODE_VIDEO_EOF_BLLP. MIPI_DSI_MODE_VIDEO_BLLP
flag is used when DSI is allowed to enter low power stop mode
during BLLP period, and MIPI_DSI_MODE_VIDEO_EOF_BLLP
is used when DSI is allowed to enter low power stop mode in
the BLLP area of the last line of a frame.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: I54c1d0cc7a87d23054b82cfa975117f0590ca2d3
Add additional drm mode flags to specify panel capability
to support command mode and video mode seamless transition.
Additionally, add mode flags to specify support for
YUV, RGB formats.
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Bug: 139653858
Change-Id: Ifdc71a123f1f697ff9b5dbe6a6e2f557c3069060
Add support for drivers to report the total number of MPDUs received
and the number of MPDUs received with an FCS error from a specific
peer. These counters will be incremented only when the TA of the
frame matches the MAC address of the peer irrespective of FCS
error.
It should be noted that the TA field in the frame might be corrupted
when there is an FCS error and TA matching logic would fail in such
cases. Hence, FCS error counter might not be fully accurate, but it can
provide help in detecting bad RX links in significant number of cases.
This FCS error counter without full accuracy can be used, e.g., to
trigger a kick-out of a connected client with a bad link in AP mode to
force such a client to roam to another AP.
Test: build
Bug: 153912588
Signed-off-by: Ankita Bajaj <bankita@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit 0d4e14a32d)
[hridya: resolved minor conflicts]
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Change-Id: I5306d36e6df255efcb130b0de5151bebda67c549
Add functions snd_usb_enable_audio_stream and find_snd_usb_substream
to resolve ABI diff.
Test: build
Bug: 151372815
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Change-Id: I658d525233be3eb657a3b36c81a3920e65e96a40
(cherry picked from commit f055b3843f78a67497bbab7da5ea6405823bb861)
[hridya: only include ABI diff, add EXPORT_SYMBOL_GPL,
add some pointer checks]
Signed-off-by: Hridya Valsaraju <hridya@google.com>