mainlining shenanigans
Go to file
Krunoslav Kovac e752058b86 drm/amd/display: Optimize gamma calculations
[Why&How]

1. Stack usage is pretty high as fixed31_32 struct is 8 bytes and we
have functions with >30 vars on the stack.

2. Optimize gamma calculation by reducing number of calls to
dc_fixpt_pow Our X points are divided into 32 regions wth 16 pts each.
Each region is 2x the previous, meaning x[i] = 2*x[i-16] for i>=16.
Using (2x)^gamma = 2^gamma * x^gamma, we can recursively compute powers
of gamma, we just need first 16 pts to start it up. dc_fixpt_pow() is
expensive, it computes x^y by doing exp(y*logx) Exp is done by Taylor
series approximation, and log by Newton-like approximation that also
uses exp internally. In short, it's significantly heavier than
run-of-the-mill addition/subtraction/multiply.

Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-07-18 14:27:25 -05:00
arch Merge branch 'topic/remove-fbcon-notifiers' into drm-misc-next 2019-06-19 12:33:05 +02:00
block blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requests 2019-06-13 03:05:58 -06:00
certs
crypto
Documentation Merge commit 'refs/for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next 2019-06-25 12:56:40 +10:00
drivers drm/amd/display: Optimize gamma calculations 2019-07-18 14:27:25 -05:00
fs Fix rounding error in gfs2_iomap_page_prepare 2019-06-14 17:27:12 -10:00
include drm/amdgpu: add Arcturus asic type 2019-07-18 14:18:01 -05:00
init
ipc
kernel Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-06-16 07:22:56 -10:00
lib lib/genalloc: introduce chunk owners 2019-06-13 17:34:56 -10:00
LICENSES
mm Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next 2019-06-21 12:18:16 +10:00
net
samples
scripts scripts/decode_stacktrace.sh: prefix addr2line with $CROSS_COMPILE 2019-06-13 17:34:56 -10:00
security Smack: Restore the smackfsdef mount option and add missing prefixes 2019-06-14 14:25:04 -10:00
sound sound fixes for 5.2-rc5 2019-06-14 05:37:06 -10:00
tools mm/devm_memremap_pages: fix final page put race 2019-06-13 17:34:56 -10:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next 2019-06-21 12:18:16 +10:00
Makefile Linux 5.2-rc5 2019-06-16 08:49:45 -10:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.