Merge branch 'android12-5.10' into android12-5.10-lts

Sync up with android12-5.10 for the following commits:

0a7cdb7fe4 ANDROID: Update symbol list for mtk
dccb021dc4 ANDROID: iommu: Add vendor hook to tracing iova alloc & free in iova_domain
befb2a75ab ANDROID: iommu: vendor_hook: remove the obsolete code
b01ae5f1b4 ANDROID: GKI: rockchip: Enable dummy_irq_chip for pcie
fc90aa522f ANDROID: tracing: fix register tracing spam on memcpy
d5aea3dbfb BACKPORT: FROMGIT: scsi: ufs: core: Stop clearing unit attentions
2b411f1257 BACKPORT: FROMGIT: scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION
f0ad57ddd7 ANDROID: GKI: rockchip: Enable symbols for rockchip-drm
dfdc93d7c4 ANDROID: GKI: rockchip: Enable symbols for iommu
8846927a02 ANDROID: GKI: rockchip: Enable symbols for dwc2

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id8f7ecf3628ab237b74bc176f4e9e8f3b33ae3b3
This commit is contained in:
Greg Kroah-Hartman 2021-10-11 13:26:19 +02:00
commit 3cce4e4a1b
8 changed files with 344 additions and 121 deletions

View File

@ -1928,7 +1928,9 @@
__traceiter_android_vh_freq_qos_update_request
__traceiter_android_vh_freq_qos_remove_request
__traceiter_android_vh_iommu_alloc_iova
__traceiter_android_vh_iommu_iovad_alloc_iova
__traceiter_android_vh_iommu_free_iova
__traceiter_android_vh_iommu_iovad_free_iova
__traceiter_android_vh_ipv6_gen_linklocal_addr
__traceiter_android_vh_logbuf
__traceiter_android_vh_override_creds
@ -2004,7 +2006,9 @@
__tracepoint_android_vh_freq_qos_update_request
__tracepoint_android_vh_freq_qos_remove_request
__tracepoint_android_vh_iommu_alloc_iova
__tracepoint_android_vh_iommu_iovad_alloc_iova
__tracepoint_android_vh_iommu_free_iova
__tracepoint_android_vh_iommu_iovad_free_iova
__tracepoint_android_vh_ipv6_gen_linklocal_addr
__tracepoint_android_vh_logbuf
__tracepoint_android_vh_override_creds

View File

@ -139,9 +139,11 @@
devm_of_clk_add_hw_provider
__devm_of_phy_provider_register
devm_phy_create
devm_phy_get
devm_pinctrl_get
devm_platform_get_and_ioremap_resource
devm_platform_ioremap_resource
devm_platform_ioremap_resource_byname
devm_power_supply_register
devm_pwm_get
__devm_regmap_init_i2c
@ -188,6 +190,7 @@
drm_display_info_set_bus_formats
drm_get_edid
drm_mode_vrefresh
dummy_irq_chip
enable_irq
extcon_get_edev_by_phandle
extcon_get_state
@ -205,6 +208,7 @@
fwnode_property_present
fwnode_property_read_string
fwnode_property_read_u32_array
generic_handle_irq
get_device
gic_nonsecure_priorities
gpiochip_add_pin_range
@ -219,6 +223,7 @@
gpiod_set_consumer_name
gpiod_set_value
gpiod_set_value_cansleep
handle_simple_irq
hid_debug
hid_hw_close
hid_hw_open
@ -258,10 +263,17 @@
input_set_abs_params
__ioremap
iounmap
__irq_domain_add
irq_domain_remove
irq_find_mapping
irq_get_irq_data
irq_set_chained_handler_and_data
irq_set_chip_and_handler_name
irq_set_chip_data
irq_set_irq_wake
jiffies
kasan_flag_enabled
kasprintf
kernel_neon_begin
kernel_neon_end
kfree
@ -308,6 +320,7 @@
nr_cpu_ids
nvmem_cell_put
nvmem_cell_read
of_address_to_resource
of_alias_get_id
of_clk_add_provider
of_clk_del_provider
@ -349,6 +362,10 @@
param_ops_uint
__per_cpu_offset
pfn_valid
phy_exit
phy_init
phy_power_off
phy_power_on
pinctrl_dev_get_drvdata
pinctrl_lookup_state
pinctrl_select_state
@ -356,6 +373,7 @@
__platform_driver_register
platform_driver_unregister
platform_get_irq
platform_get_irq_byname
platform_get_resource
platform_get_resource_byname
pm_power_off
@ -687,6 +705,52 @@
watchdog_set_restart_priority
watchdog_unregister_device
# required by dwc2.ko
__bitmap_clear
bitmap_find_next_zero_area_off
dev_driver_string
device_set_wakeup_capable
device_wakeup_enable
devm_usb_get_phy
dma_sync_single_for_cpu
dma_sync_single_for_device
hrtimer_cancel
hrtimer_init
hrtimer_start_range_ns
is_vmalloc_addr
phy_reset
_raw_spin_trylock
synchronize_irq
usb_add_gadget_udc
usb_add_hcd
usb_calc_bus_time
usb_create_hcd
usb_debug_root
usb_del_gadget_udc
usb_disabled
usb_ep_set_maxpacket_limit
usb_gadget_giveback_request
usb_gadget_map_request
usb_gadget_set_state
usb_gadget_unmap_request
usb_get_dr_mode
usb_hcd_check_unlink_urb
usb_hcd_giveback_urb
usb_hcd_link_urb_to_ep
usb_hcd_map_urb_for_dma
usb_hcd_resume_root_hub
usb_hcd_unlink_urb_from_ep
usb_hcd_unmap_urb_for_dma
usb_hub_clear_tt_buffer
usb_phy_set_charger_current
usb_put_hcd
usb_remove_hcd
usb_role_switch_get_drvdata
usb_role_switch_register
usb_role_switch_unregister
usb_speed_string
usb_wakeup_enabled_descendants
# required by fan53555.ko
gpiod_get_raw_value
gpiod_set_raw_value
@ -700,16 +764,12 @@
gpiod_count
# required by gpio-rockchip.ko
generic_handle_irq
gpiochip_add_data_with_key
gpiochip_remove
handle_edge_irq
handle_level_irq
__irq_alloc_domain_generic_chips
irq_create_mapping_affinity
__irq_domain_add
irq_domain_remove
irq_find_mapping
irq_gc_ack_set_bit
irq_gc_mask_clr_bit
irq_gc_mask_set_bit
@ -717,8 +777,6 @@
irq_generic_chip_ops
irq_get_domain_generic_chip
irq_of_parse_and_map
irq_set_chained_handler_and_data
of_address_to_resource
of_pinctrl_get
# required by grf.ko
@ -857,7 +915,6 @@
ida_destroy
ida_free
init_srcu_struct
kasprintf
kobject_uevent_env
ktime_get_with_offset
list_sort
@ -1042,7 +1099,6 @@
v4l2_subdev_init
# required by phy-rockchip-inno-dsidphy.ko
devm_platform_ioremap_resource_byname
phy_mipi_dphy_config_validate
# required by phy-rockchip-inno-hdmi-phy.ko
@ -1142,6 +1198,24 @@
regmap_del_irq_chip
regmap_irq_get_domain
# required by rockchip-iommu.ko
bus_set_iommu
device_link_add
device_link_del
get_zeroed_page
iommu_device_register
iommu_device_sysfs_add
iommu_device_sysfs_remove
iommu_get_dma_cookie
iommu_group_alloc
iommu_group_put
iommu_group_ref_get
iommu_put_dma_cookie
platform_bus_type
platform_irq_count
report_iommu_fault
strstr
# required by rockchip-rng.ko
devm_hwrng_register
devm_of_iomap
@ -1190,7 +1264,6 @@
input_unregister_handle
__memset_io
of_devfreq_cooling_register_power
platform_get_irq_byname
# required by rockchip_dmc_common.ko
down_write_trylock
@ -1221,6 +1294,226 @@
thermal_zone_device_enable
thermal_zone_device_update
# required by rockchipdrm.ko
adjust_managed_page_count
clk_is_match
clk_set_parent
component_add
component_bind_all
component_del
component_master_add_with_match
component_master_del
component_match_add_release
component_unbind_all
devm_of_phy_get_by_index
dma_buf_attach
dma_buf_detach
dma_buf_map_attachment
dma_buf_unmap_attachment
dma_get_sgtable_attrs
dma_mmap_attrs
drm_add_modes_noedid
drm_atomic_commit
drm_atomic_get_connector_state
drm_atomic_get_crtc_state
drm_atomic_get_plane_state
drm_atomic_helper_check
drm_atomic_helper_check_plane_state
drm_atomic_helper_cleanup_planes
drm_atomic_helper_commit
drm_atomic_helper_commit_hw_done
drm_atomic_helper_commit_modeset_disables
drm_atomic_helper_commit_modeset_enables
drm_atomic_helper_commit_planes
__drm_atomic_helper_connector_destroy_state
__drm_atomic_helper_connector_duplicate_state
__drm_atomic_helper_connector_reset
__drm_atomic_helper_crtc_destroy_state
__drm_atomic_helper_crtc_duplicate_state
drm_atomic_helper_dirtyfb
__drm_atomic_helper_disable_plane
drm_atomic_helper_duplicate_state
drm_atomic_helper_fake_vblank
drm_atomic_helper_page_flip
__drm_atomic_helper_plane_destroy_state
__drm_atomic_helper_plane_duplicate_state
drm_atomic_helper_set_config
drm_atomic_helper_shutdown
drm_atomic_helper_swap_state
drm_atomic_helper_wait_for_vblanks
drm_atomic_set_crtc_for_connector
drm_atomic_set_crtc_for_plane
drm_atomic_set_fb_for_plane
drm_atomic_set_mode_for_crtc
drm_atomic_state_alloc
__drm_atomic_state_free
drm_bridge_attach
drm_compat_ioctl
drm_connector_init_with_ddc
drm_connector_list_iter_begin
drm_connector_list_iter_end
drm_connector_list_iter_next
drm_connector_list_update
drm_connector_unregister
drm_crtc_cleanup
drm_crtc_enable_color_mgmt
drm_crtc_from_index
drm_crtc_handle_vblank
drm_crtc_init_with_planes
drm_crtc_send_vblank_event
drm_crtc_vblank_get
drm_crtc_vblank_off
drm_crtc_vblank_on
drm_crtc_vblank_put
__drm_dbg
drm_debugfs_create_files
drm_detect_monitor_audio
drm_dev_alloc
drm_dev_dbg
drm_dev_printk
drm_dev_put
drm_dev_register
drm_dev_unregister
drm_do_get_edid
drm_dp_bw_code_to_link_rate
drm_dp_channel_eq_ok
drm_encoder_cleanup
drm_encoder_init
drm_event_reserve_init_locked
drm_flip_work_cleanup
drm_flip_work_commit
drm_flip_work_init
drm_flip_work_queue
drm_format_info
drm_framebuffer_cleanup
drm_framebuffer_init
drm_gem_cma_vm_ops
drm_gem_dmabuf_export
drm_gem_dmabuf_get_uuid
drm_gem_dmabuf_mmap
drm_gem_dmabuf_release
drm_gem_dmabuf_vmap
drm_gem_dmabuf_vunmap
drm_gem_dumb_map_offset
drm_gem_fb_afbc_init
drm_gem_fb_create_handle
drm_gem_fb_init_with_funcs
drm_gem_get_pages
drm_gem_handle_create
drm_gem_map_attach
drm_gem_map_detach
drm_gem_map_dma_buf
drm_gem_mmap
drm_gem_mmap_obj
drm_gem_object_free
drm_gem_object_init
drm_gem_object_lookup
drm_gem_object_put_locked
drm_gem_object_release
drm_gem_prime_fd_to_handle
drm_gem_prime_handle_to_fd
drm_gem_put_pages
drm_gem_unmap_dma_buf
drm_gem_vm_close
drm_get_format_info
drm_get_format_name
drm_hdmi_vendor_infoframe_from_display_mode
drm_helper_mode_fill_fb_struct
drm_ioctl
drm_kms_helper_hotplug_event
drm_kms_helper_poll_enable
drm_kms_helper_poll_fini
drm_kms_helper_poll_init
drm_match_cea_mode
drm_mm_init
drm_mm_insert_node_in_range
drmm_mode_config_init
drm_mm_print
drm_mm_remove_node
drm_mm_takedown
drm_mode_config_cleanup
drm_mode_config_helper_resume
drm_mode_config_helper_suspend
drm_mode_config_reset
drm_mode_copy
drm_mode_create_tv_properties
drm_mode_crtc_set_gamma_size
drm_mode_debug_printmodeline
drm_mode_object_get
drm_mode_object_put
drm_mode_prune_invalid
drm_mode_set_crtcinfo
drm_modeset_lock_all
drm_modeset_unlock_all
drm_mode_sort
drm_mode_validate_driver
drm_mode_validate_size
drm_mode_validate_ycbcr420
drm_object_attach_property
drm_of_crtc_port_mask
drm_of_encoder_active_endpoint
drm_of_find_panel_or_bridge
drm_open
drm_panel_bridge_add_typed
drm_panel_bridge_remove
drm_panel_enable
drm_panel_get_modes
drm_panel_prepare
drm_plane_cleanup
drm_plane_create_alpha_property
drm_plane_create_blend_mode_property
drm_plane_create_rotation_property
drm_plane_create_zpos_property
drm_poll
drm_prime_gem_destroy
drm_prime_get_contiguous_size
drm_prime_pages_to_sg
drm_prime_sg_to_page_addr_arrays
__drm_printfn_seq_file
drm_property_create_bitmask
drm_property_create_object
drm_property_create_range
__drm_puts_seq_file
drm_read
drm_release
drm_send_event_locked
drm_simple_encoder_init
drm_universal_plane_init
drm_vblank_init
drm_writeback_connector_init
drm_writeback_queue_job
drm_writeback_signal_completion
hdmi_infoframe_pack
iommu_attach_device
iommu_detach_device
iommu_domain_alloc
iommu_domain_free
iommu_map
iommu_map_sg
iommu_set_fault_handler
iommu_unmap
memblock_free
ns_to_timespec64
of_graph_get_next_endpoint
of_graph_get_port_by_id
of_graph_get_remote_port
of_graph_get_remote_port_parent
of_property_match_string
of_reserved_mem_device_init_by_idx
platform_device_unregister
platform_find_device_by_driver
__platform_register_drivers
platform_unregister_drivers
release_firmware
request_firmware
sort
__sw_hweight32
__sw_hweight8
system_unbound_wq
__vmalloc
vm_get_page_prot
vm_map_pages
# required by rtc-rk808.ko
_bcd2bin
_bin2bcd
@ -1231,11 +1524,6 @@
rtc_update_irq
# required by sdhci-of-arasan.ko
devm_phy_get
phy_exit
phy_init
phy_power_off
phy_power_on
__sdhci_add_host
sdhci_cleanup_host
sdhci_cqe_disable

View File

@ -8,6 +8,7 @@ CFLAGS_armv8_deprecated.o := -I$(src)
CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_insn.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FTRACE)
CFLAGS_io.o := -D__DISABLE_TRACE_MMIO__
# Object file lists.
obj-y := debug-monitors.o entry.o irq.o fpsimd.o \

View File

@ -202,7 +202,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_mem_abort);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sp_pc_abort);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_setup_dma_ops);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_alloc_iova);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_iovad_alloc_iova);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_free_iova);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_iommu_iovad_free_iova);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pick_next_entity);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_check_preempt_wakeup);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_start);

View File

@ -490,6 +490,7 @@ static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain,
true);
trace_android_vh_iommu_alloc_iova(dev, (dma_addr_t)iova << shift, size);
trace_android_vh_iommu_iovad_alloc_iova(dev, iovad, (dma_addr_t)iova << shift, size);
return (dma_addr_t)iova << shift;
}
@ -510,6 +511,7 @@ static void iommu_dma_free_iova(struct iommu_dma_cookie *cookie,
size >> iova_shift(iovad));
trace_android_vh_iommu_free_iova(iova, size);
trace_android_vh_iommu_iovad_free_iova(iovad, iova, size);
}
static void __iommu_dma_unmap(struct device *dev, dma_addr_t dma_addr,

View File

@ -226,7 +226,6 @@ static int ufshcd_reset_and_restore(struct ufs_hba *hba);
static int ufshcd_eh_host_reset_handler(struct scsi_cmnd *cmd);
static int ufshcd_clear_tm_cmd(struct ufs_hba *hba, int tag);
static void ufshcd_hba_exit(struct ufs_hba *hba);
static int ufshcd_clear_ua_wluns(struct ufs_hba *hba);
static int ufshcd_probe_hba(struct ufs_hba *hba, bool async);
static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on);
static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba);
@ -4086,8 +4085,6 @@ int ufshcd_link_recovery(struct ufs_hba *hba)
if (ret)
dev_err(hba->dev, "%s: link recovery failed, err %d",
__func__, ret);
else
ufshcd_clear_ua_wluns(hba);
return ret;
}
@ -5949,7 +5946,6 @@ static void ufshcd_err_handling_unprepare(struct ufs_hba *hba)
ufshcd_release(hba);
if (ufshcd_is_clkscaling_supported(hba))
ufshcd_clk_scaling_suspend(hba, false);
ufshcd_clear_ua_wluns(hba);
pm_runtime_put(hba->dev);
}
@ -7861,8 +7857,6 @@ static int ufshcd_add_lus(struct ufs_hba *hba)
if (ret)
goto out;
ufshcd_clear_ua_wluns(hba);
/* Initialize devfreq after UFS device is detected */
if (ufshcd_is_clkscaling_supported(hba)) {
memcpy(&hba->clk_scaling.saved_pwr_info.info,
@ -7888,63 +7882,6 @@ static int ufshcd_add_lus(struct ufs_hba *hba)
return ret;
}
static int
ufshcd_send_request_sense(struct ufs_hba *hba, struct scsi_device *sdp);
static int ufshcd_clear_ua_wlun(struct ufs_hba *hba, u8 wlun)
{
struct scsi_device *sdp;
unsigned long flags;
int ret = 0;
spin_lock_irqsave(hba->host->host_lock, flags);
if (wlun == UFS_UPIU_UFS_DEVICE_WLUN)
sdp = hba->sdev_ufs_device;
else if (wlun == UFS_UPIU_RPMB_WLUN)
sdp = hba->sdev_rpmb;
else
BUG();
if (sdp) {
ret = scsi_device_get(sdp);
if (!ret && !scsi_device_online(sdp)) {
ret = -ENODEV;
scsi_device_put(sdp);
}
} else {
ret = -ENODEV;
}
spin_unlock_irqrestore(hba->host->host_lock, flags);
if (ret)
goto out_err;
ret = ufshcd_send_request_sense(hba, sdp);
scsi_device_put(sdp);
out_err:
if (ret)
dev_err(hba->dev, "%s: UAC clear LU=%x ret = %d\n",
__func__, wlun, ret);
return ret;
}
static int ufshcd_clear_ua_wluns(struct ufs_hba *hba)
{
int ret = 0;
if (!hba->wlun_dev_clr_ua)
goto out;
ret = ufshcd_clear_ua_wlun(hba, UFS_UPIU_UFS_DEVICE_WLUN);
if (!ret)
ret = ufshcd_clear_ua_wlun(hba, UFS_UPIU_RPMB_WLUN);
if (!ret)
hba->wlun_dev_clr_ua = false;
out:
if (ret)
dev_err(hba->dev, "%s: Failed to clear UAC WLUNS ret = %d\n",
__func__, ret);
return ret;
}
/**
* ufshcd_probe_hba - probe hba to detect device and initialize
* @hba: per-adapter instance
@ -7998,7 +7935,6 @@ static int ufshcd_probe_hba(struct ufs_hba *hba, bool async)
/* UFS device is also active now */
ufshcd_set_ufs_dev_active(hba);
ufshcd_force_reset_auto_bkops(hba);
hba->wlun_dev_clr_ua = true;
/* Gear up to HS gear if supported */
if (hba->max_pwr_info.is_valid) {
@ -8527,35 +8463,6 @@ static void ufshcd_hba_exit(struct ufs_hba *hba)
}
}
static int
ufshcd_send_request_sense(struct ufs_hba *hba, struct scsi_device *sdp)
{
unsigned char cmd[6] = {REQUEST_SENSE,
0,
0,
0,
UFS_SENSE_SIZE,
0};
char *buffer;
int ret;
buffer = kzalloc(UFS_SENSE_SIZE, GFP_KERNEL);
if (!buffer) {
ret = -ENOMEM;
goto out;
}
ret = scsi_execute(sdp, cmd, DMA_FROM_DEVICE, buffer,
UFS_SENSE_SIZE, NULL, NULL,
msecs_to_jiffies(1000), 3, 0, RQF_PM, NULL);
if (ret)
pr_err("%s: failed with err %d\n", __func__, ret);
kfree(buffer);
out:
return ret;
}
/**
* ufshcd_set_dev_pwr_mode - sends START STOP UNIT command to set device
* power mode
@ -8572,7 +8479,7 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
struct scsi_sense_hdr sshdr;
struct scsi_device *sdp;
unsigned long flags;
int ret;
int ret, retries;
spin_lock_irqsave(hba->host->host_lock, flags);
sdp = hba->sdev_ufs_device;
@ -8597,7 +8504,6 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
* handling context.
*/
hba->host->eh_noresume = 1;
ufshcd_clear_ua_wluns(hba);
cmd[4] = pwr_mode << 4;
@ -8606,8 +8512,14 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
* callbacks hence set the RQF_PM flag so that it doesn't resume the
* already suspended childs.
*/
ret = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr,
START_STOP_TIMEOUT, 0, 0, RQF_PM, NULL);
for (retries = 3; retries > 0; --retries) {
ret = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr,
START_STOP_TIMEOUT, 0, 0, RQF_PM, NULL);
if (!scsi_status_is_check_condition(ret) ||
!scsi_sense_valid(&sshdr) ||
sshdr.sense_key != UNIT_ATTENTION)
break;
}
if (ret) {
sdev_printk(KERN_WARNING, sdp,
"START_STOP failed for power mode: %d, result %x\n",
@ -8920,7 +8832,6 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
hba->clk_gating.is_suspended = false;
hba->dev_info.b_rpm_dev_flush_capable = false;
ufshcd_clear_ua_wluns(hba);
ufshcd_release(hba);
ufshpb_resume(hba);
out:
@ -9029,8 +8940,6 @@ static int ufshcd_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
cancel_delayed_work(&hba->rpm_dev_flush_recheck_work);
}
ufshcd_clear_ua_wluns(hba);
/* Schedule clock gating in case of no access to UFS device yet */
ufshcd_release(hba);

View File

@ -88,6 +88,21 @@ static inline int scsi_is_wlun(u64 lun)
return (lun & 0xff00) == SCSI_W_LUN_BASE;
}
/**
* scsi_status_is_check_condition - check the status return.
*
* @status: the status passed up from the driver (including host and
* driver components)
*
* This returns true if the status code is SAM_STAT_CHECK_CONDITION.
*/
static inline int scsi_status_is_check_condition(int status)
{
if (status < 0)
return false;
status &= 0xfe;
return status == SAM_STAT_CHECK_CONDITION;
}
/*
* MESSAGE CODES

View File

@ -12,8 +12,6 @@
#include <linux/tracepoint.h>
#include <trace/hooks/vendor_hooks.h>
#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS)
DECLARE_HOOK(android_vh_iommu_setup_dma_ops,
TP_PROTO(struct device *dev, u64 dma_base, u64 size),
TP_ARGS(dev, dma_base, size));
@ -22,16 +20,20 @@ DECLARE_HOOK(android_vh_iommu_alloc_iova,
TP_PROTO(struct device *dev, dma_addr_t iova, size_t size),
TP_ARGS(dev, iova, size));
struct iova_domain;
DECLARE_HOOK(android_vh_iommu_iovad_alloc_iova,
TP_PROTO(struct device *dev, struct iova_domain *iovad, dma_addr_t iova, size_t size),
TP_ARGS(dev, iovad, iova, size));
DECLARE_HOOK(android_vh_iommu_free_iova,
TP_PROTO(dma_addr_t iova, size_t size),
TP_ARGS(iova, size));
#else
#define trace_android_vh_iommu_setup_dma_ops(dev, dma_base, size)
#define trace_android_vh_iommu_alloc_iova(dev, iova, size)
#define trace_android_vh_iommu_free_iova(iova, size)
DECLARE_HOOK(android_vh_iommu_iovad_free_iova,
TP_PROTO(struct iova_domain *iovad, dma_addr_t iova, size_t size),
TP_ARGS(iovad, iova, size));
#endif
#endif /* _TRACE_HOOK_IOMMU_H */