linux/drivers/gpu/drm
Andrew Shadura f20024d8ba drm/amd/powerplay: return false instead of -EINVAL
Returning -EINVAL from a bool-returning function
phm_check_smc_update_required_for_display_configuration has an unexpected
effect of returning true, which is probably not what was intended.
Replace -EINVAL by false.

The only place this function is called from is
psm_adjust_power_state_dynamic in
drivers/gpu/drm/amd/powerplay/eventmgr/psm.c:106:

	if (!equal || phm_check_smc_update_required_for_display_configuration(hwmgr)) {
		phm_apply_state_adjust_rules(hwmgr, requested, pcurrent);
		phm_set_power_state(hwmgr, &pcurrent->hardware, &requested->hardware);
		hwmgr->current_ps = requested;
	}

It seems to expect a boolean value here.

This issue has been found using the following Coccinelle semantic patch
written by Peter Senna Tschudin:
<smpl>
@@
identifier f;
constant C;
typedef bool;
@@
bool f (...){
<+...
* return -C;
...+>
}
</smpl>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2016-11-08 11:43:05 -05:00
..
amd drm/amd/powerplay: return false instead of -EINVAL 2016-11-08 11:43:05 -05:00
arc
arm
armada Merge branch 'drm-armada-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-fixes 2016-10-21 13:26:15 +10:00
ast drm/drivers: add support for using the arch wc mapping API. 2016-10-26 16:48:01 +10:00
atmel-hlcdc
bochs
bridge drm/bridge: Drop drm_connector_unregister and call drm_connector_cleanup directly 2016-10-10 11:19:42 +02:00
cirrus drm/drivers: add support for using the arch wc mapping API. 2016-10-26 16:48:01 +10:00
etnaviv Merge branch 'drm-etnaviv-fixes' of git://git.pengutronix.de/lst/linux into drm-fixes 2016-10-21 13:27:55 +10:00
exynos drm: Don't force all planes to be added to the state due to zpos 2016-10-26 18:48:05 +02:00
fsl-dcu drm/fsl-dcu: enable pixel clock when enabling CRTC 2016-10-19 17:03:02 -07:00
gma500
hisilicon
i2c
i810
i915 drm/i915: Fix SKL+ 90/270 degree rotated plane coordinate computation 2016-10-28 15:24:30 +03:00
imx drm/imx: ipuv3-plane: disable local alpha for planes without alpha channel 2016-10-20 14:39:51 +02:00
mediatek drm/mediatek: mark symbols static where possible 2016-10-04 08:23:01 +02:00
mga
mgag200 drm/drivers: add support for using the arch wc mapping API. 2016-10-26 16:48:01 +10:00
msm drm/msm: Fix error handling crashes seen when VRAM allocation fails 2016-11-04 11:51:37 -04:00
nouveau drm/nouveau/acpi: fix check for power resources support 2016-11-01 14:52:03 +10:00
omapdrm
panel
qxl
r128
radeon Merge branch 'drm-fixes-4.9' of git://people.freedesktop.org/~agd5f/linux into drm-fixes 2016-11-07 09:40:40 +10:00
rcar-du drm: Don't force all planes to be added to the state due to zpos 2016-10-26 18:48:05 +02:00
rockchip drm/rockchip: analogix_dp: Refuse to enable PSR if panel doesn't support it 2016-10-04 08:23:17 +02:00
savage
shmobile
sis
sti drm: Don't force all planes to be added to the state due to zpos 2016-10-26 18:48:05 +02:00
sun4i
tdfx
tegra drm/prime: Take a ref on the drm_dev when exporting a dma_buf 2016-10-05 15:30:32 +02:00
tilcdc
ttm
udl Merge tag 'drm-for-v4.9' of git://people.freedesktop.org/~airlied/linux 2016-10-11 18:12:22 -07:00
vc4 drm/vc4: Add support for double-clocked modes. 2016-10-06 11:58:28 -07:00
vgem
via mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
virtio virtio-gpu: fix vblank events 2016-11-03 10:14:19 +10:00
vmwgfx Merge branch 'drm-vmwgfx-fixes' of ssh://people.freedesktop.org/~syeh/repos_linux into drm-fixes 2016-10-21 13:26:58 +10:00
Kconfig
Makefile
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm: Release reference from blob lookup after replacing property 2016-10-26 10:28:10 +02:00
drm_atomic_helper.c drm: Don't force all planes to be added to the state due to zpos 2016-10-26 18:48:05 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_color_mgmt.c
drm_connector.c drm: Release resources with a safer function 2016-10-10 11:20:48 +02:00
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c Merge tag 'drm-for-v4.9' of git://people.freedesktop.org/~airlied/linux 2016-10-11 18:12:22 -07:00
drm_dp_mst_topology.c drm/dp/mst: Check peer device type before attempting EDID read 2016-10-26 18:53:44 +02:00
drm_drv.c drm: Simplify drm_printk to reduce object size quite a bit 2016-10-04 08:23:14 +02:00
drm_edid.c drm/edid: Move dvi_dual/max_tmds_clock parsing out from drm_edid_to_eld() 2016-10-04 08:23:12 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Keep references for the current set of used connectors 2016-10-26 18:52:42 +02:00
drm_flip_work.c
drm_fops.c
drm_fourcc.c
drm_framebuffer.c
drm_gem.c
drm_gem_cma_helper.c
drm_global.c
drm_hashtab.c
drm_info.c drm: Print device information again in debugfs 2016-10-17 16:20:53 +10:00
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c drm: Document caveats around atomic event handling 2016-10-04 08:23:15 +02:00
drm_kms_helper_common.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_pci.c
drm_plane.c drm: Undo damage to page_flip_ioctl 2016-10-04 12:53:12 +10:00
drm_plane_helper.c
drm_platform.c
drm_prime.c drm: Fix up kerneldoc for new drm_gem_dmabuf_export() 2016-10-10 11:19:42 +02:00
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_simple_kms_helper.c drm: simple_kms_helper: Add prepare_fb and cleanup_fb hooks 2016-10-05 15:18:02 +02:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vm.c
drm_vma_manager.c