Commit Graph

1148708 Commits

Author SHA1 Message Date
Ming Qian
4dbfc3a024 FROMGIT: media: add RealVideo format RV30 and RV40
RealVideo, or also spelled as Real Video, is a suite of proprietary
video compression formats developed by RealNetworks -
the specific format changes with the version.
RealVideo codecs are identified by four-character codes.
RV30 and RV40 are RealNetworks' proprietary H.264-based codecs.

Bug: 279270030
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
(cherry picked from commit ec9aa62a1e
    https://git.linuxtv.org/mchehab/media-next.git master)
Change-Id: I8388fb2764a25543a3b155e5ce65f8af3ac005e4
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2023-04-24 10:45:38 +00:00
Ming Qian
61c48ea296 FROMGIT: media: add Sorenson Spark video format
Sorenson Spark is an implementation of H.263 for use
in Flash Video and Adobe Flash files.
Sorenson Spark is an incomplete implementation of H.263.
It differs mostly in header structure and ranges of the coefficients.

Bug: 279270030
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
(cherry picked from commit ae77d13914
    https://git.linuxtv.org/mchehab/media-next.git master)
Change-Id: I914e0a2bbbeaf9095be239844051a7919ffd2e02
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2023-04-24 10:45:38 +00:00
Matthias Männich
4f6302ba3c ANDROID: Update ABI representation for imx symbol list updates
Bug: 277791334
Change-Id: Ia83d83aac9377dca69770520d774f80cf5158fff
Signed-off-by: Matthias Männich <maennich@google.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
515e3ed383 ANDROID: ABI: Add clk/power related symbols for imx
68 function symbol(s) added
  'struct clk_hw* __clk_hw_register_divider(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, void*, u8, u8, u8, const struct clk_div_table*, spinlock_t*)'
  'struct clk_hw* __clk_hw_register_fixed_rate(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, unsigned long, unsigned long, unsigned long, bool)'
  'struct clk_hw* __clk_hw_register_gate(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, void*, u8, u8, spinlock_t*)'
  'struct clk_hw* __clk_hw_register_mux(struct device*, struct device_node*, const char*, u8, const char* const*, const struct clk_hw**, const struct clk_parent_data*, unsigned long, void*, u8, u32, u8, const u32*, spinlock_t*)'
  'int __of_mdiobus_register(struct mii_bus*, struct device_node*, struct module*)'
  'int clk_bulk_get(struct device*, int, struct clk_bulk_data*)'
  'void clk_bulk_put(int, struct clk_bulk_data*)'
  'int clk_gate_is_enabled(struct clk_hw*)'
  'struct clk_hw* clk_hw_register_composite(struct device*, const char*, const char* const*, int, struct clk_hw*, const struct clk_ops*, struct clk_hw*, const struct clk_ops*, struct clk_hw*, const struct clk_ops*, unsigned long)'
  'struct clk_hw* clk_hw_register_fixed_factor(struct device*, const char*, const char*, unsigned long, unsigned int, unsigned int)'
  'unsigned int clk_mux_index_to_val(const u32*, unsigned int, u8)'
  'struct clk* clk_register_mux_table(struct device*, const char*, const char* const*, u8, unsigned long, void*, u8, u32, u8, const u32*, spinlock_t*)'
  'void clk_unregister(struct clk*)'
  'unsigned int cpufreq_generic_get(unsigned int)'
  'int cpufreq_generic_suspend(struct cpufreq_policy*)'
  'void dev_pm_opp_free_cpufreq_table(struct device*, struct cpufreq_frequency_table**)'
  'unsigned long dev_pm_opp_get_max_transition_latency(struct device*)'
  'int dev_pm_opp_get_sharing_cpus(struct device*, struct cpumask*)'
  'unsigned long dev_pm_opp_get_suspend_opp_freq(struct device*)'
  'int dev_pm_opp_init_cpufreq_table(struct device*, struct cpufreq_frequency_table**)'
  'int dev_pm_opp_of_cpumask_add_table(const struct cpumask*)'
  'int dev_pm_opp_of_get_sharing_cpus(struct device*, struct cpumask*)'
  'int devm_hwrng_register(struct device*, struct hwrng*)'
  'int dmaenginem_async_device_register(struct dma_device*)'
  'int dw_pcie_ep_init(struct dw_pcie_ep*)'
  'int dw_pcie_ep_raise_legacy_irq(struct dw_pcie_ep*, u8)'
  'int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep*, u8, u8)'
  'void dw_pcie_ep_reset_bar(struct dw_pcie*, enum pci_barno)'
  'u8 dw_pcie_find_capability(struct dw_pcie*, u8)'
  'u32 dw_pcie_read_dbi(struct dw_pcie*, u32, size_t)'
  'int dw_pcie_wait_for_link(struct dw_pcie*)'
  'void dw_pcie_write_dbi(struct dw_pcie*, u32, size_t, u32)'
  'bool mdiobus_is_registered_device(struct mii_bus*, int)'
  'void net_selftest(struct net_device*, struct ethtool_test*, u64*)'
  'int net_selftest_get_count()'
  'void net_selftest_get_strings(u8*)'
  'void netif_set_tso_max_segs(struct net_device*, unsigned int)'
  'int nvmem_cell_read_u64(struct device*, const char*, u64*)'
  'int of_clk_parent_fill(struct device_node*, const char**, unsigned int)'
  'int of_genpd_add_device(struct of_phandle_args*, struct device*)'
  'int of_genpd_add_subdomain(struct of_phandle_args*, struct of_phandle_args*)'
  'int of_get_phy_mode(struct device_node*, phy_interface_t*)'
  'struct phy_device* of_phy_connect(struct net_device*, struct device_node*, void(*)(struct net_device*), u32, phy_interface_t)'
  'void of_phy_deregister_fixed_link(struct device_node*)'
  'struct phy_device* of_phy_find_device(struct device_node*)'
  'int of_phy_register_fixed_link(struct device_node*)'
  'int pci_msi_enabled()'
  'struct phy_device* phy_connect(struct net_device*, const char*, void(*)(struct net_device*), phy_interface_t)'
  'void phy_disconnect(struct phy_device*)'
  'int phy_ethtool_get_eee(struct phy_device*, struct ethtool_eee*)'
  'int phy_ethtool_get_link_ksettings(struct net_device*, struct ethtool_link_ksettings*)'
  'int phy_ethtool_nway_reset(struct net_device*)'
  'int phy_ethtool_set_eee(struct phy_device*, struct ethtool_eee*)'
  'int phy_ethtool_set_link_ksettings(struct net_device*, const struct ethtool_link_ksettings*)'
  'int phy_mii_ioctl(struct phy_device*, struct ifreq*, int)'
  'void phy_print_status(struct phy_device*)'
  'void phy_remove_link_mode(struct phy_device*, u32)'
  'int phy_reset_after_clk_enable(struct phy_device*)'
  'void phy_set_max_speed(struct phy_device*, u32)'
  'void phy_set_sym_pause(struct phy_device*, bool, bool, bool)'
  'void phy_start(struct phy_device*)'
  'void phy_stop(struct phy_device*)'
  'void phy_support_sym_pause(struct phy_device*)'
  'int pm_genpd_remove_device(struct device*)'
  'void tso_build_data(const struct sk_buff*, struct tso_t*, int)'
  'void tso_build_hdr(const struct sk_buff*, char*, struct tso_t*, int, bool)'
  'int tso_count_descs(const struct sk_buff*)'
  'int tso_start(struct sk_buff*, struct tso_t*)'

8 variable symbol(s) added
  'const struct clk_ops clk_divider_ops'
  'const struct clk_ops clk_divider_ro_ops'
  'const struct clk_ops clk_fractional_divider_ops'
  'const struct clk_ops clk_gate_ops'
  'const struct clk_ops clk_mux_ops'
  'const struct clk_ops clk_mux_ro_ops'
  'struct kobject* firmware_kobj'
  'struct device_node* of_chosen'

Bug: 277791334
Change-Id: Ide2e8e1be03d8978476ddbdcd32a9d364ea8814f
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
6665806c0c ANDROID: ABI: Add phy/pinctrl/regulator related symbols for imx
21 function symbol(s) added
  'struct regmap* __regmap_init_mmio_clk(struct device*, const char*, void*, const struct regmap_config*, struct lock_class_key*, const char*)'
  'int devm_pwmchip_add(struct device*, struct pwm_chip*)'
  'void devres_remove_group(struct device*, void*)'
  'struct pwm_device* of_pwm_xlate_with_flags(struct pwm_chip*, const struct of_phandle_args*)'
  'int of_regulator_match(struct device*, struct device_node*, struct of_regulator_match*, unsigned int)'
  'int phy_pm_runtime_get_sync(struct phy*)'
  'int phy_pm_runtime_put(struct phy*)'
  'int pinconf_generic_parse_dt_config(struct device_node*, struct pinctrl_dev*, unsigned long**, unsigned int*)'
  'struct group_desc* pinctrl_generic_get_group(struct pinctrl_dev*, unsigned int)'
  'struct function_desc* pinmux_generic_get_function(struct pinctrl_dev*, unsigned int)'
  'int pinmux_generic_get_function_count(struct pinctrl_dev*)'
  'int pinmux_generic_get_function_groups(struct pinctrl_dev*, unsigned int, const char* const**, unsigned int*)'
  'const char* pinmux_generic_get_function_name(struct pinctrl_dev*, unsigned int)'
  'int regulator_desc_list_voltage_linear_range(const struct regulator_desc*, unsigned int)'
  'int regulator_map_voltage_ascend(struct regulator_dev*, int, int)'
  'int regulator_set_ramp_delay_regmap(struct regulator_dev*, int)'
  'int regulator_set_voltage_time_sel(struct regulator_dev*, unsigned int, unsigned int)'
  'int reset_controller_register(struct reset_controller_dev*)'
  'void reset_controller_unregister(struct reset_controller_dev*)'
  'struct device* rpmsg_find_device(struct device*, struct rpmsg_channel_info*)'
  'int rpmsg_sendto(struct rpmsg_endpoint*, void*, int, u32)'

1 variable symbol(s) added
  'suspend_state_t pm_suspend_target_state'

Bug: 277791334
Change-Id: Idbcd16e66e57f2ad78cd731a981c5653a0f5605f
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
9d368adaae ANDROID: ABI: Add bus/mmc/dma related symbols for imx
55 function symbol(s) added
  'void __bitmap_replace(unsigned long*, const unsigned long*, const unsigned long*, const unsigned long*, unsigned int)'
  'void bdi_unregister(struct backing_dev_info*)'
  'unsigned long* bitmap_alloc(unsigned int, gfp_t)'
  'struct irq_chip_generic* devm_irq_alloc_generic_chip(struct device*, const char*, int, unsigned int, void*, irq_flow_handler_t)'
  'int devm_irq_setup_generic_chip(struct device*, struct irq_chip_generic*, u32, enum irq_gc_flags, unsigned int, unsigned int)'
  'int devm_register_sys_off_handler(struct device*, enum sys_off_mode, int, int(*)(struct sys_off_data*), void*)'
  'struct spi_mem_dirmap_desc* devm_spi_mem_dirmap_create(struct device*, struct spi_mem*, const struct spi_mem_dirmap_info*)'
  'void* gen_pool_dma_alloc(struct gen_pool*, size_t, dma_addr_t*)'
  'struct gpio_desc* gpiod_get_index_optional(struct device*, const char*, unsigned int, enum gpiod_flags)'
  'int gpiod_set_array_value_cansleep(unsigned int, struct gpio_desc**, struct gpio_array*, unsigned long*)'
  'struct irq_domain* irq_domain_add_legacy(struct device_node*, unsigned int, unsigned int, irq_hw_number_t, const struct irq_domain_ops*, void*)'
  'void mctrl_gpio_disable_ms(struct mctrl_gpios*)'
  'void mctrl_gpio_enable_ms(struct mctrl_gpios*)'
  'unsigned int mctrl_gpio_get(struct mctrl_gpios*, unsigned int*)'
  'struct mctrl_gpios* mctrl_gpio_init(struct uart_port*, unsigned int)'
  'void mctrl_gpio_set(struct mctrl_gpios*, unsigned int)'
  'int mmc_gpio_set_cd_wake(struct mmc_host*, bool)'
  'int mmc_of_parse_voltage(struct mmc_host*, u32*)'
  'int mmc_pwrseq_register(struct mmc_pwrseq*)'
  'void mmc_pwrseq_unregister(struct mmc_pwrseq*)'
  'void mmc_retune_timer_stop(struct mmc_host*)'
  'struct gen_pool* of_gen_pool_get(struct device_node*, const char*, int)'
  'bool of_node_name_prefix(const struct device_node*, const char*)'
  'int pinctrl_gpio_direction_input(unsigned int)'
  'int pinctrl_gpio_direction_output(unsigned int)'
  'int regmap_attach_dev(struct device*, struct regmap*, const struct regmap_config*)'
  'void rproc_add_carveout(struct rproc*, struct rproc_mem_entry*)'
  'struct resource_table* rproc_elf_find_loaded_rsc_table(struct rproc*, const struct firmware*)'
  'int rproc_elf_load_rsc_table(struct rproc*, const struct firmware*)'
  'int rproc_elf_load_segments(struct rproc*, const struct firmware*)'
  'int rproc_elf_sanity_check(struct rproc*, const struct firmware*)'
  'struct rproc_mem_entry* rproc_mem_entry_init(struct device*, void*, dma_addr_t, size_t, u32, int(*)(struct rproc*, struct rproc_mem_entry*), int(*)(struct rproc*, struct rproc_mem_entry*), const char*, ...)'
  'int rproc_of_parse_firmware(struct device*, int, const char**)'
  'irqreturn_t rproc_vq_interrupt(struct rproc*, int)'
  'void sdhci_dumpregs(struct sdhci_host*)'
  'int sdhci_execute_tuning(struct mmc_host*, u32)'
  'int sdhci_resume_host(struct sdhci_host*)'
  'int sdhci_runtime_resume_host(struct sdhci_host*, int)'
  'int sdhci_runtime_suspend_host(struct sdhci_host*)'
  'int sdhci_suspend_host(struct sdhci_host*)'
  'struct scatterlist* sg_last(struct scatterlist*, unsigned int)'
  'int spi_mem_adjust_op_size(struct spi_mem*, struct spi_mem_op*)'
  'bool spi_mem_default_supports_op(struct spi_mem*, const struct spi_mem_op*)'
  'ssize_t spi_mem_dirmap_read(struct spi_mem_dirmap_desc*, u64, size_t, void*)'
  'ssize_t spi_mem_dirmap_write(struct spi_mem_dirmap_desc*, u64, size_t, const void*)'
  'int spi_mem_driver_register_with_owner(struct spi_mem_driver*, struct module*)'
  'void spi_mem_driver_unregister(struct spi_mem_driver*)'
  'int spi_mem_exec_op(struct spi_mem*, const struct spi_mem_op*)'
  'const char* spi_mem_get_name(struct spi_mem*)'
  'bool spi_mem_supports_op(struct spi_mem*, const struct spi_mem_op*)'
  'unsigned char tty_get_frame_size(unsigned int)'
  'unsigned int uart_get_divisor(struct uart_port*, unsigned int)'
  'int uart_get_rs485_mode(struct uart_port*)'
  'void uart_handle_cts_change(struct uart_port*, unsigned int)'
  'void uart_handle_dcd_change(struct uart_port*, unsigned int)'

Bug: 277791334
Change-Id: Ibb506df8f2897865016f7e77256b84f67dcb5af4
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
ddd2c21ef7 ANDROID: ABI: Add display related symbols for imx
83 function symbol(s) added
  'int __device_reset(struct device*, bool)'
  'struct drm_mm_node* __drm_mm_interval_first(const struct drm_mm*, u64, u64)'
  'void* __drmm_simple_encoder_alloc(struct drm_device*, size_t, size_t, int)'
  'int __irq_alloc_domain_generic_chips(struct irq_domain*, int, int, const char*, irq_flow_handler_t, unsigned int, unsigned int, enum irq_gc_flags)'
  'int bitmap_find_free_region(unsigned long*, unsigned int, int)'
  'void* bsearch(const void*, const void*, size_t, size_t, cmp_func_t)'
  'void cec_fill_conn_info_from_drm(struct cec_connector_info*, const struct drm_connector*)'
  'struct cec_notifier* cec_notifier_cec_adap_register(struct device*, const char*, struct cec_adapter*)'
  'void cec_notifier_cec_adap_unregister(struct cec_notifier*, struct cec_adapter*)'
  'struct cec_notifier* cec_notifier_conn_register(struct device*, const char*, const struct cec_connector_info*)'
  'void cec_notifier_conn_unregister(struct cec_notifier*)'
  'void cec_notifier_set_phys_addr(struct cec_notifier*, u16)'
  'void cec_notifier_set_phys_addr_from_edid(struct cec_notifier*, const struct edid*)'
  'void cec_s_phys_addr_from_edid(struct cec_adapter*, const struct edid*)'
  'void cec_transmit_done_ts(struct cec_adapter*, u8, u8, u8, u8, u8, ktime_t)'
  'int component_compare_dev_name(struct device*, void*)'
  'struct drm_bridge* devm_drm_panel_bridge_add(struct device*, struct drm_panel*)'
  'struct phy* devm_of_phy_get(struct device*, struct device_node*, const char*)'
  'void devm_remove_action(struct device*, void(*)(void*), void*)'
  'u64 dma_get_required_mask(struct device*)'
  'int down_killable(struct semaphore*)'
  'int driver_create_file(struct device_driver*, const struct driver_attribute*)'
  'void driver_remove_file(struct device_driver*, const struct driver_attribute*)'
  'u32* drm_atomic_helper_bridge_propagate_bus_fmt(struct drm_bridge*, struct drm_bridge_state*, struct drm_crtc_state*, struct drm_connector_state*, u32, unsigned int*)'
  'void drm_atomic_helper_commit_tail_rpm(struct drm_atomic_state*)'
  'void drm_atomic_helper_disable_planes_on_crtc(struct drm_crtc_state*, bool)'
  'void drm_bridge_connector_disable_hpd(struct drm_connector*)'
  'void drm_bus_flags_from_videomode(const struct videomode*, u32*)'
  'bool drm_connector_atomic_hdr_metadata_equal(struct drm_connector_state*, struct drm_connector_state*)'
  'int drm_connector_attach_hdr_output_metadata_property(struct drm_connector*)'
  'int drm_connector_attach_max_bpc_property(struct drm_connector*, int, int)'
  'int drm_connector_init_with_ddc(struct drm_device*, struct drm_connector*, const struct drm_connector_funcs*, int, struct i2c_adapter*)'
  'int drm_connector_set_panel_orientation(struct drm_connector*, enum drm_panel_orientation)'
  'enum hdmi_quantization_range drm_default_rgb_quant_range(const struct drm_display_mode*)'
  'int drm_display_info_set_bus_formats(struct drm_display_info*, const u32*, unsigned int)'
  'void drm_display_mode_from_videomode(const struct videomode*, struct drm_display_mode*)'
  'void drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe*, const struct drm_connector*, const struct drm_display_mode*, enum hdmi_quantization_range)'
  'int drm_hdmi_vendor_infoframe_from_display_mode(struct hdmi_vendor_infoframe*, const struct drm_connector*, const struct drm_display_mode*)'
  'bool drm_mm_scan_add_block(struct drm_mm_scan*, struct drm_mm_node*)'
  'void drm_mm_scan_init_with_range(struct drm_mm_scan*, struct drm_mm*, u64, u64, unsigned long, u64, u64, enum drm_mm_insert_mode)'
  'bool drm_mm_scan_remove_block(struct drm_mm_scan*, struct drm_mm_node*)'
  'int drm_mode_create_hdmi_colorspace_property(struct drm_connector*)'
  'bool drm_mode_is_420_also(const struct drm_display_info*, const struct drm_display_mode*)'
  'int drm_of_encoder_active_endpoint(struct device_node*, struct drm_encoder*, struct of_endpoint*)'
  'uint32_t drm_of_find_possible_crtcs(struct drm_device*, struct device_node*)'
  'int drm_panel_of_backlight(struct drm_panel*)'
  'int drm_plane_create_color_properties(struct drm_plane*, u32, u32, enum drm_color_encoding, enum drm_color_range)'
  'int drm_plane_create_scaling_filter_property(struct drm_plane*, unsigned int)'
  'int hdmi_avi_infoframe_check(struct hdmi_avi_infoframe*)'
  'void hdmi_avi_infoframe_init(struct hdmi_avi_infoframe*)'
  'ssize_t hdmi_avi_infoframe_pack(struct hdmi_avi_infoframe*, void*, size_t)'
  'int hdmi_drm_infoframe_init(struct hdmi_drm_infoframe*)'
  'ssize_t hdmi_drm_infoframe_pack(struct hdmi_drm_infoframe*, void*, size_t)'
  'ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe*, void*, size_t)'
  'void input_copy_abs(struct input_dev*, unsigned int, const struct input_dev*, unsigned int)'
  'void irq_gc_ack_set_bit(struct irq_data*)'
  'void irq_gc_mask_clr_bit(struct irq_data*)'
  'void irq_gc_mask_set_bit(struct irq_data*)'
  'struct irq_chip_generic* irq_get_domain_generic_chip(struct irq_domain*, unsigned int)'
  'void* memset32(uint32_t*, uint32_t, size_t)'
  'int mipi_dsi_dcs_enter_sleep_mode(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_exit_sleep_mode(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_set_display_off(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_set_display_on(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device*, u8)'
  'int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device*, enum mipi_dsi_dcs_tear_mode)'
  'int mipi_dsi_dcs_set_tear_scanline(struct mipi_dsi_device*, u16)'
  'int mipi_dsi_dcs_soft_reset(struct mipi_dsi_device*)'
  'void mipi_dsi_device_unregister(struct mipi_dsi_device*)'
  'int mutex_lock_killable(struct mutex*)'
  'int of_drm_get_panel_orientation(const struct device_node*, enum drm_panel_orientation*)'
  'int of_get_display_timing(const struct device_node*, const char*, struct display_timing*)'
  'struct phy* of_phy_get(struct device_node*, const char*)'
  'int phy_mipi_dphy_get_default_config(unsigned long, unsigned int, unsigned int, struct phy_configure_opts_mipi_dphy*)'
  'int phy_validate(struct phy*, enum phy_mode, int, union phy_configure_opts*)'
  'struct regmap* syscon_regmap_lookup_by_phandle_optional(struct device_node*, const char*)'
  'void thermal_of_zone_unregister(struct thermal_zone_device*)'
  'int thermal_zone_bind_cooling_device(struct thermal_zone_device*, int, struct thermal_cooling_device*, unsigned long, unsigned long, unsigned int)'
  'void touchscreen_parse_properties(struct input_dev*, bool, struct touchscreen_properties*)'
  'void touchscreen_report_pos(struct input_dev*, const struct touchscreen_properties*, unsigned int, unsigned int, bool)'
  'void unpin_user_pages(struct page**, unsigned long)'
  'void videomode_from_timing(const struct display_timing*, struct videomode*)'
  'void vma_set_file(struct vm_area_struct*, struct file*)'

2 variable symbol(s) added
  'unsigned int hrtimer_resolution'
  'const struct irq_domain_ops irq_generic_chip_ops'

Bug: 277791334
Change-Id: I98df3b80e88be6bf5ec63abcc50de32546cdee12
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
31b52eddc4 ANDROID: ABI: Add video/camera related symbols for imx
62 function symbol(s) added
  'int __v4l2_ctrl_s_ctrl_int64(struct v4l2_ctrl*, s64)'
  'const void* __v4l2_find_nearest_size(const void*, size_t, size_t, size_t, size_t, s32, s32)'
  'int _vb2_fop_release(struct file*, struct mutex*)'
  'void console_lock()'
  'void console_unlock()'
  'struct rc_dev* devm_rc_allocate_device(struct device*, enum rc_driver_type)'
  'int devm_rc_register_device(struct device*, struct rc_dev*)'
  'u8 drm_match_cea_mode(const struct drm_display_mode*)'
  'struct drm_display_mode* drm_mode_find_dmt(struct drm_device*, int, int, int, bool)'
  'void drm_property_destroy(struct drm_device*, struct drm_property*)'
  'void drm_self_refresh_helper_cleanup(struct drm_crtc*)'
  'int drm_self_refresh_helper_init(struct drm_crtc*)'
  'int fb_get_options(const char*, char**)'
  'bool fwnode_device_is_available(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_next_endpoint(const struct fwnode_handle*, struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_port_parent(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_remote_endpoint(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_remote_port_parent(const struct fwnode_handle*)'
  'int fwnode_graph_parse_endpoint(const struct fwnode_handle*, struct fwnode_endpoint*)'
  'int fwnode_property_get_reference_args(const struct fwnode_handle*, const char*, const char*, unsigned int, unsigned int, struct fwnode_reference_args*)'
  'int fwnode_property_read_u64_array(const struct fwnode_handle*, const char*, u64*, size_t)'
  'int ir_raw_event_store_edge(struct rc_dev*, bool)'
  'int is_console_locked()'
  'struct mbox_chan* mbox_request_channel_byname(struct mbox_client*, const char*)'
  'struct media_link* media_create_ancillary_link(struct media_entity*, struct media_entity*)'
  'int media_create_pad_link(struct media_entity*, u16, struct media_entity*, u16, u32)'
  'void media_entity_remove_links(struct media_entity*)'
  'void media_graph_walk_cleanup(struct media_graph*)'
  'int media_graph_walk_init(struct media_graph*, struct media_device*)'
  'struct media_entity* media_graph_walk_next(struct media_graph*)'
  'void media_graph_walk_start(struct media_graph*, struct media_entity*)'
  'struct media_pad* media_pad_remote_pad_first(const struct media_pad*)'
  'int of_get_videomode(struct device_node*, struct videomode*, int)'
  'struct device_node* of_graph_get_port_by_id(struct device_node*, u32)'
  'struct reset_control* of_reset_control_array_get(struct device_node*, bool, bool, bool)'
  'void pwm_free(struct pwm_device*)'
  'struct pwm_device* pwm_request(int, const char*)'
  'const struct soc_device_attribute* soc_device_match(const struct soc_device_attribute*)'
  'void v4l2_ctrl_auto_cluster(unsigned int, struct v4l2_ctrl**, u8, bool)'
  'int v4l2_ctrl_new_fwnode_properties(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, const struct v4l2_fwnode_device_properties*)'
  'struct v4l2_ctrl* v4l2_ctrl_new_int_menu(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, u32, u8, u8, const s64*)'
  'struct v4l2_ctrl* v4l2_ctrl_new_std_menu_items(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, u32, u8, u64, u8, const char* const*)'
  '__poll_t v4l2_ctrl_poll(struct file*, struct poll_table_struct*)'
  'int v4l2_ctrl_subdev_log_status(struct v4l2_subdev*)'
  'int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev*, struct v4l2_fh*, struct v4l2_event_subscription*)'
  'int v4l2_event_subdev_unsubscribe(struct v4l2_subdev*, struct v4l2_fh*, struct v4l2_event_subscription*)'
  'int v4l2_g_parm_cap(struct video_device*, struct v4l2_subdev*, struct v4l2_streamparm*)'
  's64 v4l2_get_link_freq(struct v4l2_ctrl_handler*, unsigned int, unsigned int)'
  'void v4l2_m2m_buf_copy_metadata(const struct vb2_v4l2_buffer*, struct vb2_v4l2_buffer*, bool)'
  'int v4l2_m2m_ioctl_decoder_cmd(struct file*, void*, struct v4l2_decoder_cmd*)'
  'int v4l2_m2m_ioctl_encoder_cmd(struct file*, void*, struct v4l2_encoder_cmd*)'
  'void v4l2_m2m_last_buffer_done(struct v4l2_m2m_ctx*, struct vb2_v4l2_buffer*)'
  'void v4l2_m2m_resume(struct v4l2_m2m_dev*)'
  'void v4l2_m2m_suspend(struct v4l2_m2m_dev*)'
  'void v4l2_m2m_update_start_streaming_state(struct v4l2_m2m_ctx*, struct vb2_queue*)'
  'void v4l2_m2m_update_stop_streaming_state(struct v4l2_m2m_ctx*, struct vb2_queue*)'
  'int v4l2_s_parm_cap(struct video_device*, struct v4l2_subdev*, struct v4l2_streamparm*)'
  'int v4l2_subdev_link_validate(struct media_link*)'
  'void v4l_bound_align_image(u32*, unsigned int, unsigned int, unsigned int, u32*, unsigned int, unsigned int, unsigned int, unsigned int)'
  'int vb2_expbuf(struct vb2_queue*, struct v4l2_exportbuffer*)'
  'int vb2_ioctl_prepare_buf(struct file*, void*, struct v4l2_buffer*)'
  'size_t vb2_read(struct vb2_queue*, char*, size_t, loff_t*, int)'

2 variable symbol(s) added
  'const char* fb_mode_option'
  'atomic_t ignore_console_lock_warning'

Bug: 277791334
Change-Id: I624ff8405f0a4508894b65cb1ab10f1661ac3ddd
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
7c333eaff9 ANDROID: ABI: Add sensor/led/iput related symbols for imx
17 function symbol(s) added
  'struct iio_trigger* __devm_iio_trigger_alloc(struct device*, struct module*, const char*, ...)'
  'int __iio_device_register(struct iio_dev*, struct module*)'
  'struct i3c_device* dev_to_i3cdev(struct device*)'
  'struct gpio_desc* devm_fwnode_gpiod_get_index(struct device*, struct fwnode_handle*, const char*, int, enum gpiod_flags, const char*)'
  'int devm_iio_trigger_register(struct device*, struct iio_trigger*)'
  'int fwnode_irq_get_byname(const struct fwnode_handle*, const char*)'
  'const struct i3c_device_id* i3c_device_match_id(struct i3c_device*, const struct i3c_device_id*)'
  'struct iio_poll_func* iio_alloc_pollfunc(irqreturn_t(*)(int, void*), irqreturn_t(*)(int, void*), int, struct iio_dev*, const char*, ...)'
  'void iio_dealloc_pollfunc(struct iio_poll_func*)'
  'int iio_device_id(struct iio_dev*)'
  's64 iio_get_time_ns(const struct iio_dev*)'
  'ssize_t iio_read_const_attr(struct device*, struct device_attribute*, char*)'
  'int iio_read_mount_matrix(struct device*, struct iio_mount_matrix*)'
  'ssize_t iio_show_mount_matrix(struct iio_dev*, uintptr_t, const struct iio_chan_spec*, char*)'
  'void iio_trigger_notify_done(struct iio_trigger*)'
  'void iio_trigger_poll_chained(struct iio_trigger*)'
  'enum led_default_state led_init_default_state_get(struct fwnode_handle*)'

Bug: 277791334
Change-Id: I041b56da461721aa1c5922894692e1a9d2636b0b
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
8cf897cad2 ANDROID: ABI: Add usb related symbols for imx
31 function symbol(s) added
  'void device_set_of_node_from_dev(struct device*, const struct device*)'
  'int devm_extcon_register_notifier(struct device*, struct extcon_dev*, unsigned int, struct notifier_block*)'
  'struct phy* devm_phy_optional_get(struct device*, const char*)'
  'struct usb_phy* devm_usb_get_phy(struct device*, enum usb_phy_type)'
  'int ehci_handshake(struct ehci_hcd*, void*, u32, u32, int)'
  'int ehci_hub_control(struct usb_hcd*, u16, u16, u16, char*, u16)'
  'void ehci_init_driver(struct hc_driver*, const struct ehci_driver_overrides*)'
  'int ehci_setup(struct usb_hcd*)'
  'enum usb_phy_interface of_usb_get_phy_mode(struct device_node*)'
  'int of_usb_update_otg_caps(struct device_node*, struct usb_otg_caps*)'
  'int phy_reset(struct phy*)'
  'struct power_supply* power_supply_get_by_phandle(struct device_node*, const char*)'
  'int usb_add_gadget(struct usb_gadget*)'
  'void usb_del_gadget(struct usb_gadget*)'
  'int usb_ep_clear_halt(struct usb_ep*)'
  'void usb_ep_fifo_flush(struct usb_ep*)'
  'int usb_gadget_connect(struct usb_gadget*)'
  'int usb_gadget_disconnect(struct usb_gadget*)'
  'int usb_gadget_map_request_by_dev(struct device*, struct usb_request*, int)'
  'void usb_gadget_unmap_request(struct usb_gadget*, struct usb_request*, int)'
  'void usb_gadget_unmap_request_by_dev(struct device*, struct usb_request*, int)'
  'int usb_gadget_vbus_connect(struct usb_gadget*)'
  'int usb_gadget_vbus_disconnect(struct usb_gadget*)'
  'enum usb_dr_mode usb_get_dr_mode(struct device*)'
  'enum usb_device_speed usb_get_maximum_speed(struct device*)'
  'irqreturn_t usb_hcd_irq(int, void*)'
  'int usb_hcd_map_urb_for_dma(struct usb_hcd*, struct urb*, gfp_t)'
  'void usb_hcd_unmap_urb_for_dma(struct usb_hcd*, struct urb*)'
  'void usb_initialize_gadget(struct device*, struct usb_gadget*, void(*)(struct device*))'
  'void usb_phy_set_charger_state(struct usb_phy*, enum usb_charger_state)'
  'void usb_phy_set_event(struct usb_phy*, unsigned long)'

Bug: 277791334
Change-Id: Iaff5c09e6ec7d323d8d67f28e9d63a233f609bce
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
ca2184b06c ANDROID: ABI: Add net related symbols for imx
39 function symbol(s) added
  'int __phy_modify(struct phy_device*, u32, u16, u16)'
  'int genphy_c37_config_aneg(struct phy_device*)'
  'int genphy_c37_read_status(struct phy_device*)'
  'int genphy_c45_fast_retrain(struct phy_device*, bool)'
  'int genphy_c45_pma_setup_forced(struct phy_device*)'
  'irqreturn_t genphy_handle_interrupt_no_ack(struct phy_device*)'
  'int genphy_setup_forced(struct phy_device*)'
  'int iw_handler_get_spy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'int iw_handler_get_thrspy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'int iw_handler_set_spy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'int iw_handler_set_thrspy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'char* iwe_stream_add_event(struct iw_request_info*, char*, char*, struct iw_event*, int)'
  'char* iwe_stream_add_point(struct iw_request_info*, char*, char*, struct iw_event*, char*)'
  'char* iwe_stream_add_value(struct iw_request_info*, char*, char*, char*, struct iw_event*, int)'
  'void mdio_device_reset(struct mdio_device*, int)'
  'int mmc_hw_reset(struct mmc_card*)'
  'void mmc_set_data_timeout(struct mmc_data*, const struct mmc_card*)'
  'void mmc_wait_for_req(struct mmc_host*, struct mmc_request*)'
  'pci_power_t pci_choose_state(struct pci_dev*, pm_message_t)'
  'void pci_disable_msix(struct pci_dev*)'
  'int pci_enable_msix_range(struct pci_dev*, struct msix_entry*, int, int)'
  'int pci_reset_function(struct pci_dev*)'
  'int phy_modify_changed(struct phy_device*, u32, u16, u16)'
  'int phy_modify_mmd_changed(struct phy_device*, int, u32, u16, u16)'
  'int phy_modify_paged(struct phy_device*, int, u32, u16, u16)'
  'int phy_modify_paged_changed(struct phy_device*, int, u32, u16, u16)'
  'int phy_read_paged(struct phy_device*, int, u32)'
  'void phy_resolve_aneg_pause(struct phy_device*)'
  'int phy_restore_page(struct phy_device*, int, int)'
  'int phy_select_page(struct phy_device*, int)'
  'void phy_sfp_attach(void*, struct sfp_bus*)'
  'void phy_sfp_detach(void*, struct sfp_bus*)'
  'int phy_sfp_probe(struct phy_device*, const struct sfp_upstream_ops*)'
  'int phy_write_paged(struct phy_device*, int, u32, u16)'
  'int regulator_list_voltage_table(struct regulator_dev*, unsigned int)'
  'unsigned char sdio_f0_readb(struct sdio_func*, unsigned int, int*)'
  'void sdio_f0_writeb(struct sdio_func*, unsigned char, unsigned int, int*)'
  'mmc_pm_flag_t sdio_get_host_pm_caps(struct sdio_func*)'
  'int sdio_set_host_pm_flags(struct sdio_func*, mmc_pm_flag_t)'

2 variable symbol(s) added
  'const struct kernel_param_ops param_ops_ushort'
  'unsigned long phy_basic_t1_features[2]'

Bug: 277791334
Change-Id: I2972d36c836b34f46af5bed46934043ff05ca726
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
d28b7797ed ANDROID: ABI: Add sound/soc/ related symbols for imx
50 function symbol(s) added
  'struct device* dev_pm_domain_attach_by_id(struct device*, unsigned int)'
  'char* devm_kvasprintf(struct device*, gfp_t, const char*, va_list)'
  'int devm_snd_dmaengine_pcm_register(struct device*, const struct snd_dmaengine_pcm_config*, unsigned int)'
  'bool dpcm_end_walk_at_be(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction)'
  'int regmap_add_irq_chip(struct regmap*, int, int, int, const struct regmap_irq_chip*, struct regmap_irq_chip_data**)'
  'void regmap_del_irq_chip(int, struct regmap_irq_chip_data*)'
  'int regmap_reinit_cache(struct regmap*, const struct regmap_config*)'
  'void regulator_bulk_free(int, struct regulator_bulk_data*)'
  'int snd_compr_malloc_pages(struct snd_compr_stream*, size_t)'
  'int snd_ctl_boolean_stereo_info(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'void snd_ctl_notify_one(struct snd_card*, unsigned int, struct snd_kcontrol*, unsigned int)'
  'void snd_dma_buffer_sync(struct snd_dma_buffer*, enum snd_dma_sync_mode)'
  'int snd_dmaengine_pcm_prepare_slave_config(struct snd_pcm_substream*, struct snd_pcm_hw_params*, struct dma_slave_config*)'
  'int snd_dmaengine_pcm_refine_runtime_hwparams(struct snd_pcm_substream*, struct snd_dmaengine_dai_dma_data*, struct snd_pcm_hardware*, struct dma_chan*)'
  'void snd_dmaengine_pcm_set_config_from_dai_data(const struct snd_pcm_substream*, const struct snd_dmaengine_dai_dma_data*, struct dma_slave_config*)'
  'int snd_hwparams_to_dma_slave_config(const struct snd_pcm_substream*, const struct snd_pcm_hw_params*, struct dma_slave_config*)'
  'int snd_interval_ranges(struct snd_interval*, unsigned int, const struct snd_interval*, unsigned int)'
  'int snd_pcm_format_big_endian(snd_pcm_format_t)'
  'int snd_pcm_format_linear(snd_pcm_format_t)'
  'int snd_pcm_format_unsigned(snd_pcm_format_t)'
  'int snd_pcm_hw_constraint_ratnums(struct snd_pcm_runtime*, unsigned int, snd_pcm_hw_param_t, const struct snd_pcm_hw_constraint_ratnums*)'
  'int snd_pcm_hw_rule_add(struct snd_pcm_runtime*, unsigned int, int, snd_pcm_hw_rule_func_t, void*, int, ...)'
  'dma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer*, size_t)'
  'int snd_soc_bytes_get(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_bytes_info(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'int snd_soc_bytes_put(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_dai_active(struct snd_soc_dai*)'
  'int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai*, unsigned int)'
  'unsigned int snd_soc_daifmt_clock_provider_flipped(unsigned int)'
  'void snd_soc_dapm_dai_free_widgets(struct snd_soc_dapm_widget_list**)'
  'int snd_soc_dapm_dai_get_connected_widgets(struct snd_soc_dai*, int, struct snd_soc_dapm_widget_list**, bool(*)(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction))'
  'int snd_soc_dapm_del_routes(struct snd_soc_dapm_context*, const struct snd_soc_dapm_route*, int)'
  'int snd_soc_dapm_disable_pin_unlocked(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_enable_pin(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_force_bias_level(struct snd_soc_dapm_context*, enum snd_soc_bias_level)'
  'int snd_soc_dapm_force_enable_pin_unlocked(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_sync_unlocked(struct snd_soc_dapm_context*)'
  'struct snd_pcm_substream* snd_soc_dpcm_get_substream(struct snd_soc_pcm_runtime*, int)'
  'int snd_soc_get_dai_name(const struct of_phandle_args*, const char**)'
  'int snd_soc_get_volsw_sx(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_info_xr_sx(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'int snd_soc_jack_add_gpios(struct snd_soc_jack*, int, struct snd_soc_jack_gpio*)'
  'void snd_soc_jack_notifier_register(struct snd_soc_jack*, struct notifier_block*)'
  'int snd_soc_limit_volume(struct snd_soc_card*, const char*, int)'
  'struct snd_soc_component* snd_soc_lookup_component_nolocked(struct device*, const char*)'
  'void snd_soc_of_parse_node_prefix(struct device_node*, struct snd_soc_codec_conf*, struct device_node*, const char*)'
  'int snd_soc_of_parse_tdm_slot(struct device_node*, unsigned int*, unsigned int*, unsigned int*, unsigned int*)'
  'int snd_soc_params_to_frame_size(struct snd_pcm_hw_params*)'
  'int snd_soc_runtime_calc_hw(struct snd_soc_pcm_runtime*, struct snd_pcm_hardware*, int)'
  'struct regmap* syscon_regmap_lookup_by_compatible(const char*)'

1 variable symbol(s) added
  'const guid_t guid_null'

Bug: 277791334
Change-Id: Ibc7bc46e46be4818fb7f6306728ba5ada686c42b
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Sebastian Ene
5fdf78bd51 ANDROID: KVM: arm64: Clear the PTEs which are not refcounted on unmap path
With coalescing we don't refcount default PTE entries. Fix an issue
which clears out non-refcounted PTE entries on the unmap path.

Bug: 279165129
Change-Id: Ie4fdabcc420d54c1338272d38abbe393fc5ce75c
Signed-off-by: Sebastian Ene <sebastianene@google.com>
Signed-off-by: Will Deacon <willdeacon@google.com>
2023-04-24 07:21:22 +00:00
William McVicker
3e97d25f51 Revert "ANDROID: Add utf8_data_table for case-folding support"
Revert submission 2540910-utf8-case-folding

Reason for revert: This causes issues on android14-5.15 which doesn't
have the utf8_data_table symbol. Let's just revert this topic and
leave it up to vendors to add utf8_data_table to their symbol lists.

Reverted changes: /q/submissionid:2540910-utf8-case-folding

Bug: 278561372
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I20712935e7880159cf734fb9e3667ce235a8fc78
2023-04-21 23:11:46 +00:00
Alistair Delva
d7595b4db4 ANDROID: Add filp_open_block() for zram
We currently plan to disallow use of filp_open() from drivers in GKI,
however the ZRAM driver still needs it. Add a new GKI-only variant of
filp_open() which only permits a block device to be opened, which can
be exported instead. This keeps ZRAM working but cuts down on drivers
that attempt to open and write files in kernel mode.

Bug: 179220339
Bug: 205141088
Change-Id: Id696b4aaf204b0499ce0a1b6416648670236e570
Signed-off-by: Alistair Delva <adelva@google.com>
(cherry picked from commit 62d9cb66f6)
2023-04-21 20:05:56 +00:00
litao
3183446493 ANDROID: GKI: add init symbol list file for vivo
6 function symbol(s) added
  'struct buffer_head* __getblk_gfp(struct block_device*, sector_t, unsigned int, gfp_t)'
  'void __lock_buffer(struct buffer_head*)'
  'void __wait_on_buffer(struct buffer_head*)'
  'void end_buffer_read_sync(struct buffer_head*, int)'
  'void submit_bh(blk_opf_t, struct buffer_head*)'
  'void unlock_buffer(struct buffer_head*)'

Bug: 278801617
Change-Id: I3d850f7de9c7acc1c3dc88e65ab811ee16f56a9d
Signed-off-by: litao <tao.li@vivo.corp-partner.google.com>
2023-04-21 15:05:10 +00:00
AngeloGioacchino Del Regno
cecdba9d60 FROMGIT: clocksource/drivers/timer-mediatek: Split out CPUXGPT timers
On MediaTek platforms, CPUXGPT is the source for the AArch64 System
Timer, read through CNTVCT_EL0.

The handling for starting this timer ASAP was introduced in commit
327e93cf9a ("clocksource/drivers/timer-mediatek: Implement CPUXGPT timers")
which description also contains an important full explanation of the
reasons why this driver is necessary and cannot be a module.

In preparation for an eventual conversion of timer-mediatek to a
platform_driver that would be possibly built as a module, split out
the CPUXGPT timers driver to a new timer-mediatek-cpux.c driver.

This commit brings no functional changes.

Bug: 161675989
(cherry picked from commit ca394a540eb03f78c82580c860eb7c8659ab5a22
https://git.linaro.org/people/daniel.lezcano/linux.git
timers/drivers/next)
Change-Id: If9fab60a448ed022673ed96a57f26eadaa440c3d
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Walter Chang <walter.chang@mediatek.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230309103913.116775-1-angelogioacchino.delregno@collabora.com
2023-04-21 14:54:53 +00:00
Vijayanand Jitta
701e5a06a1 ANDROID: dma-buf: Export is_dma_buf_file
Export is_dma_buf_file function which will be used
by several vendors to get dmabuf info.

Bug: 267248830
Bug: 264474028
Change-Id: Ic8f7dd4f0a620839ab19f52841e9a6541515133c
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
Signed-off-by: T.J. Mercier <tjmercier@google.com>
(cherry picked from commit 409aa4d675)
2023-04-20 20:45:48 +00:00
Will McVicker
6011492f62 ANDROID: ABI: Update the tcpci symbols for pixel
5 function symbol(s) added
  'int __traceiter_android_rvh_typec_tcpci_get_vbus(void*, struct tcpci*, struct tcpci_data*, int*, int*)'
  'int __traceiter_android_vh_typec_store_partner_src_caps(void*, unsigned int*, u32(*)[0])'
  'int __traceiter_android_vh_typec_tcpci_override_toggling(void*, struct tcpci*, struct tcpci_data*, int*)'
  'int __traceiter_android_vh_typec_tcpm_get_timer(void*, const char*, enum typec_timer, unsigned int*)'
  'int __traceiter_android_vh_typec_tcpm_log(void*, const char*, bool*)'

5 variable symbol(s) added
  'struct tracepoint __tracepoint_android_rvh_typec_tcpci_get_vbus'
  'struct tracepoint __tracepoint_android_vh_typec_store_partner_src_caps'
  'struct tracepoint __tracepoint_android_vh_typec_tcpci_override_toggling'
  'struct tracepoint __tracepoint_android_vh_typec_tcpm_get_timer'
  'struct tracepoint __tracepoint_android_vh_typec_tcpm_log'

Bug: 277396090
Change-Id: I3680d7c45adb32613fdc18cc9a8936a90f339148
Signed-off-by: Will McVicker <willmcvicker@google.com>
2023-04-19 20:25:38 +00:00
Venkata Rao Kakani
10713d70a8 ANDROID: ABI: Add drm_atomic_bridge_chain_disable and
drm_atomic_bridge_chain_enable in QCOM symbol list

following symbols are added to symbol list

drm_atomic_bridge_chain_disable
drm_atomic_bridge_chain_enable

function symbols added

'void drm_atomic_bridge_chain_disable(struct drm_bridge *bridge,struct drm_atomic_state *old_state)'
'void drm_atomic_bridge_chain_enable(struct drm_bridge *bridge,struct drm_atomic_state *old_state)'

Bug: 278512378

Change-Id: I46f6489b495f51f628d94120b3c1859ffafe5583
Signed-off-by: Venkata Rao Kakani <quic_vkakani@quicinc.com>
2023-04-19 15:48:45 +00:00
Will Deacon
4e45cae5e8 ANDROID: firmware/psci: Remove PSCI_1_1_FN64_MEM_PROTECT definition
The PSCI MEM_PROTECT function does not have a 64-bit function identifier,
so remove the unused definition which was erroneously left intact when
applying fe3157f328 ("ANDROID: KVM: arm64: Use 32-bit function ID for
PSCI MEM_PROTECT call").

Bug: 260316363
Cc: Quentin Perret <qperret@google.com>
Signed-off-by: Will Deacon <willdeacon@google.com>
Change-Id: Ica948b202bf01175b6ab0961307899d269649880
2023-04-19 12:58:27 +00:00
Junki Min
d88ab885ee ANDROID: Add initial symbol list for Exynos SoC
This commit is for adding initial symbol list form Exynos SoC.
"abi_gki_aarch64_exynos" is generated from minimal configs for build.

2 function symbol(s) added
  'int devm_hwrng_register(struct device*, struct hwrng*)'
  'int irq_force_affinity(unsigned int, const struct cpumask*)'

Bug: 278466304
Change-Id: I6a700eda5639bf46f694524fefe91b759583704d
Signed-off-by: Junki Min <joonki.min@samsung.com>
2023-04-19 15:15:06 +09:00
Kuan-Ying Lee
9464c5644c ANDROID: Update symbol list for mtk
Add below vendor hook symbol.
  __traceiter_android_rvh_commit_creds
  __traceiter_android_rvh_exit_creds
  __traceiter_android_rvh_override_creds
  __traceiter_android_rvh_revert_creds
  __traceiter_android_rvh_selinux_is_initialized
  __traceiter_android_rvh_set_module_permit_before_init
  __traceiter_android_rvh_set_module_permit_after_init
  __traceiter_android_rvh_set_module_core_rw_nx
  __traceiter_android_rvh_set_module_init_rw_nx
  __traceiter_android_vh_check_mmap_file
  __traceiter_android_vh_check_file_open
  __traceiter_android_vh_check_bpf_syscall
  __tracepoint_android_rvh_commit_creds
  __tracepoint_android_rvh_exit_creds
  __tracepoint_android_rvh_override_creds
  __tracepoint_android_rvh_revert_creds
  __tracepoint_android_rvh_selinux_is_initialized
  __tracepoint_android_rvh_set_module_permit_before_init
  __tracepoint_android_rvh_set_module_permit_after_init
  __tracepoint_android_rvh_set_module_core_rw_nx
  __tracepoint_android_rvh_set_module_init_rw_nx
  __tracepoint_android_vh_check_mmap_file
  __tracepoint_android_vh_check_file_open
  __tracepoint_android_vh_check_bpf_syscall

Bug: 248994334

Change-Id: I95ac15d30aa04c5aca7eaf52392264ee94ed9653
Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
2023-04-18 19:28:00 +00:00
Kuan-Ying Lee
b28620e7db ANDROID: module: Add vendor hooks
Add vendor hook for module init, so we can get memory type and
use it to do memory type check for architecture
dependent page table setting. To make sure the architecture
dependent tables are created correctly, we need to know when
module parts are initialized and their attributes.

For releasing modules, corresponding tables and attributes should be
destroyed and restored.

These hooks may be invoked in non-atomic context, so it's
necessary to use restricted ones.

Bug: 248994334
Change-Id: Ie9f415c36bca1fb98e021522b627e562d27cdef4
Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
2023-04-18 19:28:00 +00:00
Kuan-Ying Lee
05b36413b6 ANDROID: kernel: Add restricted vendor hook in creds
Add restricted vendor hook for creds, so we get the creds
information to monitor cred lifetime. During the lifetime,
we store the creds information in a standalone protected
memory and keep track of integrity.

These hooks may be invoked in non-atomic context, so it's
necessary to use restricted ones.

Bug: 248994334
Change-Id: I57fbb759452302fa1ba1e720c76bfe671eab96b5
Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
2023-04-18 19:28:00 +00:00
Greg Kroah-Hartman
4da8c1036e ANDROID: enable CONFIG_USB_XHCI_PCI_RENESAS in gki_defconfig
More platforms are using the Renesas XHCI controller, so enable it in
the configuration so that we do not have to export a bunch of internal
xhci controller functions that should not be part of any stable api.

Bug: 278153046
Change-Id: I9d8aa6a1783f0bb3bf0d794c7101d1762dd96b3d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-18 18:11:06 +00:00
Will McVicker
7e35917775 ANDROID: Add utf8_data_table for case-folding support
The upstream commit 2b3d047870 ("unicode: Add utf8-data module") moved
the unicode nomalization functions into a module so that it could be
selectively included in the kernel based of support for case-folding.
In doing so, utf8-core.c uses symbol_request() to reference the
utf8_data_table symbol. Since GKI trims unused symbols, include
this symbol to our symbol list so that it doesn't get trimmed.

Link: https://lore.kernel.org/all/ZDnbW1qYmBLycefL@google.com/
Bug: 278561372
Change-Id: If6347087d8dffae63bb4af5d72b74f703f09b820
Signed-off-by: Will McVicker <willmcvicker@google.com>
2023-04-17 20:50:58 +00:00
Badhri Jagan Sridharan
8187bf6782 UPSTREAM: usb: typec: altmodes/displayport: Add hpd sysfs attribute
Exporsing HotPlugDetect(HPD) helps userspace to infer HPD
state as defined by VESA DisplayPort Alt Mode on USB Type-C Standard.
This allows userspace to notify users for self help, for instance,
to hint user that the display port cable is probably detached (or)
the display port sink (viz., monitors ect.,) is un-powered.
Also helps to debug issues reported from field.

This change adds an additional attribute "hpd" to the existing
"displayport" attributes.

VESA DisplayPort Alt Mode on USB Type-C Standard defines how
HotPlugDetect(HPD) shall be supported on the USB-C connector
when operating in DisplayPort Alt Mode. This is a read only
node which reflects the current state of HPD.

Valid values:
 - 1 when HPD’s logical state is high (HPD_High)
 - 0 when HPD’s logical state is low (HPD_Low)

Bug: 253534975
Bug: 260915739
Change-Id: Id72e8ef6ede84038479649c2b753acdac547dea1
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/lkml/20221211193755.1392128-1-badhri@google.com/T/
(cherry picked from commit 001b0c780e)
2023-04-14 23:21:17 +00:00
Badhri Jagan Sridharan
bbc22694d4 ANDROID: vendor_hooks: Add vendor hook for tcpm logs
Context: https://lore.kernel.org/lkml/CAPTae5LbWVc4Bdiwe69cwwxEGfSYvRv=419dUGR1u8n-WUkYAA@mail.gmail.com/t/

Logs in /sys/kernel/debug/usb/tcpm* are key to debug issues related to
USB charging or data. However, tcpm logbuffer logs do not wraparound once full. Whereas we want it to wrap around so that we capture relevant info in the bugreport when the user collects one. There is sentiment in upstream to get rid of the logbuffer altogether and move to tracing. But trace events are not default enabled in Android, so that implies, even if user can somehow enable the trace event, user would have repro the issue and collect the bugreport. That would cause inconvenience to the end user. The vendor hooks is needed till upstream either allows wrapping around logs (or) Android has a generic way to default enable trace events which can be captured in bugreport.

bypass_log is set to true by the handler if logging into logbuffer is
not needed.

Bug: 189792358
Bug: 271294543
Change-Id: Icacfed2264b6c49b8e803c62f8bd820a146c169a
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
(cherry picked from commit bcfe28b62f)
2023-04-14 19:25:17 +00:00
Kyle Tso
b499bac439 ANDROID: usb: typec: tcpm: Add vendor hook to modify port src caps
Add a vendor hook to modify the port Source Capabilities. If the caps
are changed and the port state is feasible, start a Power Negotiation
AMS to update the current contract to the new one.

Bug: 201006190
Bug: 206108037
Bug: 271294543
Signed-off-by: Kyle Tso <kyletso@google.com>
Change-Id: I8b524242353781cb39b3ba85c6a75bd5a204ebcf
(cherry picked from commit 00e3210a2f)
2023-04-14 17:11:19 +00:00
Kyle Tso
c8314fcb76 ANDROID: usb: typec: tcpm: Add vendor hook to store partner source capabilities
Add a hook after receiving the source capabilities from the partner
port. Pass the address of the source capability array so that vendor
code is able to access them.

OOT bug:
Bug: 181629276
Bug: 169215197
Bug: 271294543
Signed-off-by: Kyle Tso <kyletso@google.com>
Change-Id: I11c4a7919c248690e63c3bfbebfa6b8d711175a6
(cherry picked from commit af7214914a)
2023-04-14 17:11:19 +00:00
Badhri Jagan Sridharan
081a88febb ANDROID: usb: typec: tcpm: vendor hook for timer adjustments
linux/usb/pd.h has a bunch of timers for which the Type-C spec defines
a range of values. These values have to be tuned based on the latency
observed in a specific architecture. However, linux opensource sets
them to a specific value without providing a mechanism to set board
specific values. While a generic way is figured out, a vendor hook
is needed in the interim.

For instance, tCCDebounce can have a value between 100msec - 200msec.

Squashed <d98a1df78740eedcc4d3d4c8d44b39b73f81df2d>
"ANDROID: usb: typec: tcpm: Fixup the wait time for SNK_DISCOVERY"

OOT_bug:
Bug: 184308605
Bug: 168245874
Bug: 173252019
Bug: 271294543
Change-Id: I278b34654a7e48990b6ebe25fbe17e3aa4165098
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
(cherry picked from commit f694171a83)
2023-04-14 17:11:19 +00:00
Badhri Jagan Sridharan
eeffe02c96 ANDROID: usb: typec: tcpci: Add vendor hook to mask vbus present
This hook is for addressing hardware anomalies where
TCPC_POWER_STATUS_VBUS_PRES bit can return 0 even before falling
below sSinkDisconnect threshold.

Handler has to set bypass to override the value that would otherwise
be returned by this function.
Handler can set vbus or clear vbus to indicate vbus present or absent

Squashed <89f633a9f41259a168473917674dd5cb1bfb991d>
"ANDROID: usb: typec: tcpci: Migrate restricted vendor hook"

OOT_bug:
Bug: 183149028
Bug: 168245874
Bug: 173252019
Bug: 271294543
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: I2ca994d49b37bf8600c5913b892fde9acd0dc896
2023-04-14 17:11:19 +00:00
Badhri Jagan Sridharan
b6325c997c ANDROID: usb: typec: tcpci: Add vendor hooks for tcpci interface
Needed for controlling BC1.2 detection logic specific to the chip architecture.
Also, needed to implement additional logic to make debug accessorires
specifically designed for Pixel work. These are outside the purview of Type-C spec.

OOT_bug:
Bug: 169213252
Bug: 168245874
Bug: 173252019
Bug: 271294543
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: I36fe75dddd8cd4e2054db01ed4fee7ea08dd8702
(cherry picked from commit 08879ea0d6)
2023-04-14 17:11:19 +00:00
Asutosh Das
9a6275b5a6 UPSTREAM: scsi: ufs: mcq: Use active_reqs to check busy in clock scaling
Multi Circular Queue doesn't use outstanding_reqs. However, the UFS clock
scaling functions use outstanding_reqs to determine if there are requests
pending. When MCQ is enabled, this check always returns false.

Hence use active_reqs to check if there are pending requests.

Fixes: eacb139b77 ("scsi: ufs: core: mcq: Enable multi-circular queue")
Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://lore.kernel.org/r/a24e0d646aac70eae0fc5e05fac0c58bb7e6e680.1678317160.git.quic_asutoshd@quicinc.com
(cherry picked from commit c6001025d5)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 277690227
Change-Id: I77897af6f8d6d1c86837c67050165af5a00ae202
Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
2023-04-14 16:42:39 +00:00
Benedict Wong
a705bf779b FROMLIST: xfrm: Skip checking of already-verified secpath entries
This change fixes a bug where inbound packets to nested IPsec tunnels
fails to pass policy checks due to the inner tunnel's policy checks
not having a reference to the outer policy/template. This causes the
policy check to fail, since the first entries in the secpath correlate
to the outer tunnel, while the templates being verified are for the
inner tunnel.

In order to ensure that the appropriate policy and template context is
searchable, the policy checks must be done incrementally between each
decryption step. As such, this marks secpath entries as having been
successfully matched, skipping them (treating as optional) on subsequent
policy checks

By skipping the immediate error return in the case where the secpath
entry had previously been validated, this change allows secpath entries
that matched a policy/template previously, while still requiring that
each searched template find a match in the secpath.

For security:
- All templates must have matching secpath entries
  - Unchanged by current patch; templates that do not match any secpath
    entry still return -1. This patch simply allows skipping earlier
    blocks of verified secpath entries
- All entries (except trailing transport mode entries) must have a
  matching template
  - Unvalidated entries, including transport-mode entries still return
    the errored index if it does not match the correct template.

Bug: 236423446
Bug: 277711867
Test: Tested against Android Kernel Unit Tests
Link: https://lore.kernel.org/netdev/20220824221252.4130836-2-benedictwong@google.com/
[benedictwong: fixed minor style issues]
Signed-off-by: Benedict Wong <benedictwong@google.com>
Change-Id: Ic32831cb00151d0de2e465f18ec37d5f7b680e54
(cherry picked from commit 970e02667c)
2023-04-14 12:37:23 +00:00
Kelvin Zhang
f2aef35478 Revert "Fix XFRM-I support for nested ESP tunnels"
This reverts commit 0b892d8fe9

After manual bisection, I found that 0b892d8fe9 is the culprit of the failed android.net.cts.IpSecManagerTunnelTest .

Bug: 277711867
Signed-off-by: Kelvin Zhang <zhangkelvin@google.com>
Change-Id: Ife350047225fb5d825ec92c5d087313c70965acf
2023-04-14 12:37:23 +00:00
Benedict Wong
0ddcb394f5 FROMLIST: xfrm: Ensure policy checked for nested ESP tunnels
This change ensures that all nested XFRM packets have their policy
checked before decryption of the next layer, so that policies are
verified at each intermediate step of the decryption process.

Notably, raw ESP/AH packets do not perform policy checks inherently,
whereas all other encapsulated packets (UDP, TCP encapsulated) do policy
checks after calling xfrm_input handling in the respective encapsulation
layer.

This is necessary especially for nested tunnels, as the IP addresses,
protocol and ports may all change, thus not matching the previous
policies. In order to ensure that packets match the relevant inbound
templates, the xfrm_policy_check should be done before handing off to
the inner XFRM protocol to decrypt and decapsulate.

In order to prevent double-checking packets both here and in the
encapsulation layers, this check is currently limited to nested
tunnel-mode transforms and checked prior to decapsulation of inner
tunnel layers (prior to hitting a nested tunnel's xfrm_input, there
is no great way to detect a nested tunnel). This is primarily a
performance consideration, as a general blanket check at the end of
xfrm_input would suffice, but may result in multiple policy checks.

Bug: 236423446
Bug: 277711867

Test: Tested against Android Kernel Unit Tests
Link: https://lore.kernel.org/netdev/20220824221252.4130836-3-benedictwong@google.com/
Signed-off-by: Benedict Wong <benedictwong@google.com>
Change-Id: I20c5abf39512d7f6cf438c0921a78a84e281b4e9
(cherry picked from commit b5bf2997c3)
2023-04-14 12:37:23 +00:00
Badhri Jagan Sridharan
b294edd3c1 ANDROID: Update the ABI symbol list for typec mux
2 function symbol(s) added
  'void* typec_mux_get_drvdata(struct typec_mux*)'
  'struct typec_mux* typec_mux_register(struct device*, const struct typec_mux_desc*)'

Bug: 260915739
Change-Id: Ic3113c5cb932002c55674a565d3db9539669238d
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
2023-04-13 21:20:30 +00:00
Badhri Jagan Sridharan
faee7b64df ANDROID: Update the ABI symbol list for typec port management
2 function symbol(s) added
  'void tcpm_port_clean(struct tcpm_port*)'
  'bool tcpm_port_is_toggling(struct tcpm_port*)'

Bug: 215766959
Change-Id: Iffaa5ac3a4af04d70d473d11de975c887450f702
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
2023-04-13 21:20:20 +00:00
Venkata Rao Kakani
ac53cab64c ANDROID: ABI: Add __irq_set_handler and irq_set_handler_data in QCOM symbol list
following symbols are updated to QCOM abi symbol list.
__irq_set_handler
irq_set_handler_data

2 function symbol(s) added
  'void __irq_set_handler(unsigned int, irq_flow_handler_t, int, const char*)'
  'int irq_set_handler_data(unsigned int, void*)'

Bug: 277873112
Change-Id: Ib4e96c5064e4ec408539d128e89737187082ab13
Signed-off-by: Venkata Rao Kakani <quic_vkakani@quicinc.com>
2023-04-13 16:59:15 +00:00
Visweswara Tanuku
33736be959 FROMGIT: soc: qcom: geni-se: Update Tx and Rx fifo depth based on QUP HW version
From QUP HW Version 3.10 and above the Tx and Rx
fifo depth bits are increased to 23:16 bits from
21:16 bits in SE_HW_PARAM registers accomodating
256bytes of fifo depth.

Updated geni_se_get_tx_fifo_depth and
geni_se_get_rx_fifo_depth to retrieve right fifo
depth based on QUP HW version.

Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230215050528.9507-1-quic_vtanuku@quicinc.com
(cherry picked from commit fe8aa1ba07
 https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git for-next)

Bug: 267697978
Change-Id: I0c32e4433b5c4424ad5d35edde4072116b337ed0
Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
2023-04-13 14:26:27 +00:00
Elliot Berman
fb09c80f7c FROMGIT: soc: qcom: geni-se: Move qcom-geni-se.h to linux/soc/qcom/geni-se.h
Move include/linux/qcom-geni-se.h to include/linux/soc/qcom/geni-se.h.
This removes 1 of a few remaining Qualcomm-specific headers into a more
approciate subdirectory under include/.

Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Acked-by: Bjorn Andersson <andersson@kernel.org>
Acked-by: Wolfram Sang <wsa@kernel.org> # for I2C
Reviewed-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Link: https://lore.kernel.org/r/20230203210133.3552796-1-quic_eberman@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 491581f40e
 https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git for-next)

Bug: 267697978
Change-Id: I4170dbbfc428d815b4341828d9b29ad059bd241e
Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
2023-04-13 14:26:27 +00:00
Vincent Donnefort
56e6f8a2c8 ANDROID: CONFIG_PKVM_MODULE_PATH to /lib/modules/
Android places by default the modules into /lib/modules/ instead of using
the default path /lib/modules/<uname>.

Bug: 254835242
Change-Id: I49ed4be25c29302fc9b99a9f2ef5f1c84df3adc9
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
2023-04-13 08:32:05 +00:00
Vincent Donnefort
ba57835693 ANDROID: KVM: arm64: Add a fallback for pKVM module loading
Fallback to the default module path (/lib/modules/<uname>) if module
loading failed for the selected path in CONFIG_PKVM_MODULE_PATH. This
intends to follow the same mechanism as Android init.

Bug: 254835242
Change-Id: Ia7764d57fe71521e4a1fe6d2c85ba057790069a8
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
2023-04-13 08:32:05 +00:00
Vincent Donnefort
c8e53ed372 ANDROID: KVM: arm64: Add a custom module path for pKVM module loading
Currently, no module path will be given to modprobe when loading a pKVM
module, the module must then be found in /lib/modules/<uname>. Add
CONFIG_PKVM_MODULE_PATH to allow setting a different path from the
kernel config.

Bug: 254835242
Change-Id: I4f355518628b44ac03de2cee3d7a90e1ad5bf1e2
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
2023-04-13 08:32:05 +00:00
Will McVicker
39db5c7241 ANDROID: update the pixel symbol list
Add the symbols:
  kthread_create_on_cpu
  pm_runtime_get_if_active
  usb_udc_vbus_handler

Bug: 277396090
Change-Id: I29fc958d50cd28901333755d11001789215d1c57
Signed-off-by: Will McVicker <willmcvicker@google.com>
2023-04-12 21:01:15 +00:00
蔡宗軒
74975d13f3 ANDROID: Add ufs symbol for mtk
Add android_vh_ufs_clock_scaling to MTK symbol list

Bug: 277668337

Change-Id: Ieda17e4daff8ce5ee699fbfbf5d4238303b81ef2
Signed-off-by: Ed Tsai <ed.tsai@mediatek.com>
2023-04-12 18:38:23 +00:00
Sachin Gupta
e29773ec20 ANDROID: scsi: ufs: Add hook to influence the UFS clock scaling policy
Add a vendor hook in ufshcd_devfreq_target() to allow vendor modules to
influence the UFS clock scaling policy.

Bug: 277668337

Change-Id: I64b9b77661fffc6cc96fa610985483e6cfc6542b
Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com>
Signed-off-by: Sachin Gupta <quic_sachgupt@quicinc.com>
Signed-off-by: Ed Tsai <ed.tsai@mediatek.com>
(cherry picked from commit c8ed7439af)
2023-04-12 18:38:23 +00:00
T.J. Alumbaugh
451d7c42ea UPSTREAM: mm: multi-gen LRU: simplify lru_gen_look_around()
Update the folio generation in place with or without
current->reclaim_state->mm_walk.  The LRU lock is held for longer, if
mm_walk is NULL and the number of folios to update is more than
PAGEVEC_SIZE.

This causes a measurable regression from the LRU lock contention during a
microbencmark.  But a tiny regression is not worth the complexity.

Link: https://lkml.kernel.org/r/20230118001827.1040870-8-talumbau@google.com
Change-Id: I9ce18b4f4062e6c1c13c98ece9422478eb8e1846
Signed-off-by: T.J. Alumbaugh <talumbau@google.com>
Cc: Yu Zhao <yuzhao@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit abf086721a)
Bug: 274865848
Signed-off-by: T.J. Mercier <tjmercier@google.com>
2023-04-12 16:02:15 +00:00