Stanislav Vorobiov [Thu, 3 Apr 2014 05:57:00 +0000 (09:57 +0400)]
enable Tizen IVI required kernel options
For details see
https://wiki.tizen.org/wiki/IVI/artem-kernel#Kernel_configuration
Change-Id: I49432ab6a3d66408de197e8b420ebdd915dc2527
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
SeokYeon Hwang [Wed, 9 Apr 2014 05:54:38 +0000 (14:54 +0900)]
Merge branch 'tizen_linux_3.12' into tizen_linux_3.12
Change-Id: I3ea847950cfe2991c980ebb317932a348922af16
SeokYeon Hwang [Wed, 9 Apr 2014 05:30:35 +0000 (14:30 +0900)]
Using initramfs for v86d.
Change-Id: I299da86a1239b6add1befa39c92d20ba4be07069
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
Stanislav Vorobiov [Tue, 8 Apr 2014 06:31:57 +0000 (10:31 +0400)]
Revert "enable Tizen IVI required kernel options"
This reverts commit
f7090f807e725b4fa5ba32a4f3bb1c2a86ad5e0d.
Change-Id: I469dc544d6e410025d97d6e7b4dba90fce478e1d
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
Stanislav Vorobiov [Tue, 8 Apr 2014 06:31:07 +0000 (10:31 +0400)]
separate kernel config for Tizen IVI
Change-Id: I5a66b394d3065d138605bad9727079c8a50f79cc
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
Stanislav Vorobiov [Thu, 3 Apr 2014 05:57:00 +0000 (09:57 +0400)]
enable Tizen IVI required kernel options
For details see
https://wiki.tizen.org/wiki/IVI/artem-kernel#Kernel_configuration
Change-Id: Iaac79f8ae9ea0758666f7cf39cc98c7736026d5d
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
Stanislav Vorobiov [Fri, 21 Mar 2014 06:28:40 +0000 (10:28 +0400)]
maru: disable overlay driver
Overlay driver currently fails to
load because video_device is being registered
without v4l2_device, so disable it for now
Change-Id: Idbec8e41c3a79fc30ffd8bf30d6c2fb52443baad
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
jinhyung.jo [Mon, 17 Mar 2014 05:59:46 +0000 (14:59 +0900)]
VirtGL : Add a GL passthrough device for Tizen emulator
Add a GL passthrough device for Tizen Emulator
Change-Id: I53d455ebf433a5c648951a2e13406e2ac4470712
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
jinhyung.jo [Mon, 17 Mar 2014 05:51:21 +0000 (14:51 +0900)]
maru_fb : Add a framebuffer device for Tizen emulator
Add a framebuffer device for Tizen emulator
Change-Id: I2090366287fb7769bae28286a6b21384ad233d4b
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
Stanislav Vorobiov [Mon, 17 Mar 2014 09:52:24 +0000 (13:52 +0400)]
emulator config updated
Change-Id: I6399d61b301782864e404e30b45b8feab089e147
Stanislav Vorobiov [Fri, 14 Mar 2014 13:45:37 +0000 (17:45 +0400)]
VIGS: Fixed for kernel 3.12
Change-Id: Ic4ae0c0dea0e9901c5f648e1b215fd82d26cc3b2
Stanislav Vorobiov [Mon, 17 Mar 2014 07:59:10 +0000 (11:59 +0400)]
slp_global_lock: Fixed for kernel 3.12
Change-Id: I89f0cedba73eae66e56911b8ebcfb9010443d4bd
Stanislav Vorobiov [Fri, 14 Mar 2014 11:57:02 +0000 (15:57 +0400)]
YaGL: Fixed for kernel 3.12
Change-Id: I59a6d69d7bbdfd27e046372974f7651cf52aa5fb
Stanislav Vorobiov [Thu, 6 Mar 2014 13:48:33 +0000 (17:48 +0400)]
YaGL/VIGS: Version bump
GLESv3 merge version bump
Change-Id: I34813deb38a2c6334a2c04cb55dfd478c2041e8a
Stanislav Vorobiov [Tue, 18 Feb 2014 13:05:46 +0000 (17:05 +0400)]
VIGS: Support plane z-pos setting from user-space
Change-Id: I72a60beac3dc23f23517f310d5bee59c6833b748
Stanislav Vorobiov [Mon, 10 Feb 2014 16:59:01 +0000 (20:59 +0400)]
VIGS: Implemented plane support
We now support up to 2 hardware planes
with z-ordering and scaling. This patch also
adds surface scanout flag support. Surface scanout
flag is used as a hint that helps the host to decide
how to process the surface - either upload it to texture
or continously scanout data out of surface's VRAM
Change-Id: I76f88579929efd14ea81e67d2f7a231a7dee4e9d
Stanislav Vorobiov [Thu, 20 Feb 2014 07:51:51 +0000 (11:51 +0400)]
VIGS: Fix fence ack losses
It's incorrect to have vblank enable/disable flag
in INT register, it can cause fence ack losses, consider
the following scenario:
1. Fence interrupt is set on host, fence_pending bit is
set in INT register
2. vblank is turned off on guest, INT register is being
written to and since fence_pending bit is 1 it's
CLEARED on host
3. Now guest handles fence IRQ, but fence_pending bit
is 0, thus, fence ack is lost
The solution is to have separate register - CON and
vblank enable/disable bit should be there
Change-Id: Ieb3f1a0bd1722fa05fd4e7ca425079fb8799e533
Stanislav Vorobiov [Tue, 22 Oct 2013 10:15:56 +0000 (14:15 +0400)]
YaGL: Support host OpenGL version report
Change-Id: Ifaf7abb86f7f0a650ab6954be23ae95233261450
Stanislav Vorobiov [Thu, 28 Nov 2013 10:51:12 +0000 (14:51 +0400)]
YaGL: Implemented multicore rendering and fences
We now use multicore rendering, i.e. we offload all
rendering to a separate thread and use fences to wait
until certain parts of it are complete. This patch
implements fences via TTM sync objects, it also uses
TTM execbuffer utils to fence buffers and TTM object
files to export fences to user space
Change-Id: Ibed86c3161f3b7207725c8662ffa909d103acedf
Stanislav Vorobiov [Wed, 11 Dec 2013 09:26:13 +0000 (13:26 +0400)]
VIGS: Don't rely on 'no_wait_reserve' parameter when pinnin GEMs
'no_wait_reserve' parameter isn't accounted for in
ttm_bo_validate, so don't rely on GEM reserve wait,
just retry things instead
Change-Id: Iab57645c8ab96f30c01b943342cdff9bacac8feb
Stanislav Vorobiov [Tue, 10 Dec 2013 16:52:54 +0000 (20:52 +0400)]
VIGS: Fix pageflip race
Must use event_lock, since it's being used
in vigs_finish_pageflips to lock pageflip_event_list.
Also, by the time we call drm_vblank_put the event might already
be processed, so check for that
Change-Id: I9c5de98452353c6d4f09e4e4fbd92176cfd8ee40
Stanislav Vorobiov [Mon, 7 Oct 2013 11:31:29 +0000 (15:31 +0400)]
YaGL: Version bump
Change-Id: I6ecf4d3e2121cacc293af82bfde8d96bfe55dc06
Stanislav Vorobiov [Tue, 24 Sep 2013 14:48:33 +0000 (18:48 +0400)]
YaGL: Transport improved
The improvements are:
* No more mlock/munlock. We now have ioctls for locking drawable
memory so that compile transfers could be created on host. This
is only used by offscreen backend though
* We're now using a single buffer for marshalling instead of two: one
for commands and one for data. Also, the buffer can now be of any
size up to 2M, it's implemented as a page list, thus, we don't need
to allocate contigous memory anymore
Change-Id: Ia9b716c9135df75535dc515367550c9fbcf9c737
Stanislav Vorobiov [Fri, 2 Aug 2013 13:54:12 +0000 (17:54 +0400)]
VIGS: Don't 'update_vram' on 'set_root_surface'
This is now automatically happens on glFinish,
eglSwapBuffers, eglCopyBuffers, etc.
Change-Id: Ie20724ec8ce6283e8fda1248f368f00e704e0e3d
Stanislav Vorobiov [Wed, 31 Jul 2013 10:32:28 +0000 (14:32 +0400)]
YaGL: Version bump
Change-Id: Ie681f7251648451d9a425e97f215a8b0b50ebbbb
Stanislav Vorobiov [Wed, 24 Jul 2013 07:24:08 +0000 (11:24 +0400)]
VIGS: Use BO instead of VMA in struct vigs_mman_vma
It's better to use BO in struct vigs_mman_vma instead of
VMA that was allocated in mmap call
Change-Id: I883613c71bf3880dba9edb6fdaa7fd0aee83d044
Stanislav Vorobiov [Tue, 23 Jul 2013 15:40:03 +0000 (19:40 +0400)]
VIGS: Delay surface destruction
We should destroy surfaces on TTM BO destruction
instead of GEM free handler. The latter may cause races
like this:
1. GEM is created
2. GEM is mapped and written to
3. GEM is freed, but not unmapped. Thus, the host gets
a "destroy_surface" command and target frees up
an id from IDR.
4. Another GEM is created. Thus, it's assigned a freed id, which
is id of first GEM, the host gets "create_surface" command
5. First GEM is unmapped, host gets "update_gpu" command with
wrong data and size and crashes
The race occured on wayland/GBM during window resize
Change-Id: Ifddab147999e450e4b4affd7144d91f29fb39534
Stanislav Vorobiov [Fri, 19 Jul 2013 16:35:30 +0000 (20:35 +0400)]
VIGS: Don't call TTM's vm_close
TTM's vm_close sets vm_private_data to NULL even if VMA is
still referenced, we don't want this since this may cause
a NULL pointer dereference. And this indeed happens sometimes
on wayland
Change-Id: Idf4af80ef0d472a1a480491cb56e6cc8d9d39123
Stanislav Vorobiov [Fri, 12 Jul 2013 12:15:38 +0000 (16:15 +0400)]
VIGS: Fixed vigs_fb_create return values
Change-Id: Ice57af4d21899080c5572343f5734697cd20e21d
VIGS: Added dummy cursor handling
Stanislav Vorobiov [Thu, 11 Jul 2013 09:23:18 +0000 (13:23 +0400)]
VIGS: Lock console before fb notifier chain walk
This is required to work properly with fbcon
Change-Id: I641e2762e7918cd9d9147f3a44ba2911a1f50019
Stanislav Vorobiov [Thu, 11 Jul 2013 06:43:20 +0000 (10:43 +0400)]
VIGS: Make GEM access tracking optional
For dumb GEM API we need to have GEM access tracking
disabled and always assume that access is RW.
Thus, we make GEM access tracking optional, so that user-mode
can specify if it's wanted or not
Change-Id: Ia8be76e1c15b0b4734997c16ad245b018c6d2ba6
Stanislav Vorobiov [Tue, 2 Jul 2013 14:51:23 +0000 (18:51 +0400)]
VIGS: GEM access tracking implemented
In order to minimize GEM data transfers between
target and host we now track GEM memory accesses for each
VMA. Thus, we only update VRAM/GPU when there's at least one
VMA that requires it
Change-Id: Ib65ff22957e6a89d83329deca4753b69cd39ca3d
Stanislav Vorobiov [Mon, 1 Jul 2013 11:52:59 +0000 (15:52 +0400)]
VIGS: Walk fb notifier call chain on DPMS
Since currently maru_bl is used to control LCD power
we need a way to trigger it. fbdev does this
automatically on FB_BLANK events by walking fb notifier call
chain. DRM doesn't do this on DPMS, so we need to do this
ourselves
Change-Id: I9585b06c027b210b4b563c2332c092a3084663e2
Stanislav Vorobiov [Thu, 27 Jun 2013 14:24:28 +0000 (18:24 +0400)]
VIGS: Automatically update VRAM when setting new root surface
When we set new root surface (for example, as part of pageflip) we
should check if that surface is GPU dirty and if it is - update VRAM.
If we don't do this we might flip stuff without QEMU display
being updated
Change-Id: I4c9c630d09f5608fb6b09ecc3b54eb30695ef574
Stanislav Vorobiov [Mon, 24 Jun 2013 12:56:12 +0000 (16:56 +0400)]
VIGS: DRM VBLANK handling implemented
VIGS: DRM pageflip handling implemented
VIGS DRM driver now supports both VBLANK events and
pageflip events
Change-Id: I98d4f89ea6f5342839f05f1ebf6085294542dbc5
Stanislav Vorobiov [Tue, 18 Jun 2013 06:32:00 +0000 (10:32 +0400)]
VIGS: Remove "ttm shrink disable" hack
There's a right way to do this by specifying 0 in
accounted size for a BO. That way we can allocate as much BOs
as we want with used_mem always remaining 0
Change-Id: Ic1de1b832dea90b18b3441d504118773019ce9ee
Stanislav Vorobiov [Mon, 17 Jun 2013 15:29:48 +0000 (19:29 +0400)]
VIGS: Support custom resolutions
Change-Id: I779f469eb5ef9c82dbc06493cdb3a448c1c30a51
Stanislav Vorobiov [Mon, 10 Jun 2013 15:37:15 +0000 (19:37 +0400)]
YaGL: Version bump
Change-Id: I3c22f8e615f28e17d73747a43c0abab381eaa207
Stanislav Vorobiov [Fri, 7 Jun 2013 14:40:28 +0000 (18:40 +0400)]
VIGS: VRAM <-> GPU movements are now handled via page faults
VIGS: Fixed update_gpu command
VRAM <-> GPU movements are now handled via page faults, thus, user space
can mmap as many GEMs as it likes, they'll all be in GPU placement by
default and moved to VRAM as needed on page faults. Page fault handler will
also take care of eviction in case of there's no free space in VRAM
update_gpu command wasn't updated for last protocol change, fixed it
Change-Id: Iaab0c760e68b4cb5f29bdd77d025f655f04ebb51
Stanislav Vorobiov [Thu, 6 Jun 2013 16:48:36 +0000 (20:48 +0400)]
VIGS: kernel now is surface dirty aware
kernel now knows about dirty state of each surface
Change-Id: I7f801fa84f57ee9811fbd79bcb408507439acd62
Stanislav Vorobiov [Mon, 3 Jun 2013 13:29:28 +0000 (17:29 +0400)]
slp_global_lock added
Conflicts:
arch/x86/configs/i386_tizen_emul_defconfig
drivers/misc/Kconfig
drivers/misc/Makefile
Change-Id: I44c9714eafc02e98d35b4a09b6135211dd4d65ab
Stanislav Vorobiov [Mon, 27 May 2013 15:38:40 +0000 (19:38 +0400)]
VIGS: Protocol updated
Change-Id: I4946fd3bee5d63ab22e5dd8fc280b91c23d67cc5
Stanislav Vorobiov [Wed, 15 May 2013 09:02:34 +0000 (13:02 +0400)]
YaGL: Version bump
Change-Id: I29b65916421e8718dddb17f357c8b928501135d0
Stanislav Vorobiov [Mon, 6 May 2013 16:39:28 +0000 (20:39 +0400)]
VIGS: Fixed GEM reserve deadlock
Change-Id: Ic4609ff43ea4689f13a56da41696f6a500d21a64
Stanislav Vorobiov [Mon, 6 May 2013 14:48:07 +0000 (18:48 +0400)]
VIGS: Dirty flag support in vigs_surface
Dirty flag in vigs_surface is need in order to tell the kernel
that we want contents of VRAM to be uploaded into GPU when the surface
is evicted from VRAM. The flag is automatically cleared whenever
update_gpu command is found in execbuffer
Change-Id: I78e20f541d56ba958c5ac15d00b2ed7a2c841f2d
Stanislav Vorobiov [Tue, 30 Apr 2013 13:10:46 +0000 (17:10 +0400)]
VIGS: Potential deadlock fixed
Change-Id: I6e7bfc824fc637bcc77896919c504da17eddfe2b
Stanislav Vorobiov [Mon, 29 Apr 2013 14:02:11 +0000 (18:02 +0400)]
VIGS: Command list patching implemented
It's necessary to patch commands such as update_vram and update_gpu
in kernel since only kernel knows about VRAM offset of a surface
Change-Id: Ia4a0f53e768d40d8323cebfe101b8e86c4c21261
Stanislav Vorobiov [Fri, 26 Apr 2013 13:46:03 +0000 (17:46 +0400)]
VIGS: Return some more info for GEMs
Change-Id: Ia7b4ce407e64f36063b21d987c602af6c5ffbc16
Stanislav Vorobiov [Fri, 26 Apr 2013 10:53:59 +0000 (14:53 +0400)]
VIGS: We now send commands to host again
Host side code is fixed to work via new protocol
Change-Id: I4fd731e07e451923e649d1ba8bda3dd903b94023
Stanislav Vorobiov [Fri, 26 Apr 2013 06:08:48 +0000 (10:08 +0400)]
VIGS: Introduce an idr to generate surface ids
Using mmap offsets as surface ids is not good since they're 64-bit
Change-Id: I03356f4f5de67153d87cdb73e4c0102b67883793
Stanislav Vorobiov [Wed, 24 Apr 2013 06:48:55 +0000 (10:48 +0400)]
VIGS: Refactoring for DRI2
In order to support DRI2 we must move surfaces from X.Org
into kernel. This implies having additional TTM placement - GPU placement.
We must support eviction in vigs_mman in order to be able to create
surfaces that don't occupy VRAM (Now this is done in X.Org).
Also, command execution must be moved from userland to kernel as well
and we also want to add ability to batch several commands in order
to minimize user-kernel transitions and target-host transitions.
Change-Id: I0a5d3c7627b262c0011c485d8918d125775e9a53
Igor Mitsyanko [Fri, 18 Jan 2013 17:20:28 +0000 (21:20 +0400)]
YaGL: bump version
Change-Id: I0ce50b9a42ce26f9dabc519a06cbc4fb2cff7ed5
Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
Stanislav Vorobiov [Fri, 11 Jan 2013 08:20:10 +0000 (12:20 +0400)]
VIGS: Protocol updated
Change-Id: If8e47f16448a39d5e6e1722fe0f497c03db3d154
Stanislav Vorobiov [Wed, 9 Jan 2013 17:09:57 +0000 (21:09 +0400)]
VIGS: Replace "Virtual" connector with "LVDS"
e17 devicemgr seems to depend on it
Change-Id: I0bbe82c5c6ea28a1af69189ab05e4189545f8b1e
Stanislav Vorobiov [Tue, 25 Dec 2012 14:29:17 +0000 (18:29 +0400)]
VIGS: Implemented first version
Conflicts:
drivers/gpu/drm/Kconfig
drivers/gpu/drm/Makefile
Change-Id: I5ef50259bb6820083274baf5088cee236f7a4bf4
Igor Mitsyanko [Thu, 13 Dec 2012 13:26:29 +0000 (17:26 +0400)]
YaGL: bump version
Bump version after GLES1 support was merged to QEMU and target parts.
Change-Id: I11e266c393297a9fc2f4212c46000ae77d980f92
Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
Stanislav Vorobiov [Wed, 12 Dec 2012 08:01:38 +0000 (12:01 +0400)]
YaGL: Version bump
Change-Id: I117206cb1ba1eae0bf86e482b41bdd52c075458e
Stanislav Vorobiov [Fri, 7 Dec 2012 09:20:23 +0000 (13:20 +0400)]
YaGL: We now report render type to user space
Change-Id: Iedf70ba5452640a76b68dcbe08dc0e9cdff321ea
Stanislav Vorobiov [Fri, 21 Sep 2012 08:41:53 +0000 (12:41 +0400)]
YaGL: Version bump
Change-Id: Ie977471bf45db15bce21b8fcbe1c6e937c2ef75c
Stanislav Vorobiov [Mon, 17 Sep 2012 09:19:58 +0000 (13:19 +0400)]
YaGL: We can now allocate more than one page for marshalling buffer
Change-Id: Ic5d41b2c75248e2440c85be29ab34183d4a26849
Stanislav Vorobiov [Thu, 13 Sep 2012 13:30:18 +0000 (17:30 +0400)]
YaGL: Allow user to specify marshal buffer size
It still has to be 1 page, to be fixed later
Change-Id: I5c1d8a276922008621a468485f61e69566abd0c6
Stanislav Vorobiov [Thu, 13 Sep 2012 07:05:02 +0000 (11:05 +0400)]
YaGL: version bump
Change-Id: I975a676573c24188e96d0066193233e43a9ecd03
Stanislav Vorobiov [Mon, 10 Sep 2012 10:10:19 +0000 (14:10 +0400)]
YaGL: passthrough device added
Conflicts:
arch/arm/configs/tizen_defconfig
drivers/gpu/Makefile
Change-Id: I76daea09e8d27338b763109dbfffa674f400e626
jinhyung.jo [Thu, 13 Mar 2014 10:05:11 +0000 (19:05 +0900)]
maru_camera : Add new camera device for Tizen emulator
Add new camera device for Tizen emulator
Change-Id: Ie909aad4e7e4ae9009f92f76a1458a37efd93998
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
jinhyung.jo [Thu, 13 Mar 2014 09:48:28 +0000 (18:48 +0900)]
maru_overlay : Add new overlay device for Tizen emulator
Add new overlay device for Tizen emulator
Change-Id: I0bcb64e69d6152b9b1bf3cac1322ab840970ec6c
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
jinhyung.jo [Thu, 13 Mar 2014 09:16:29 +0000 (18:16 +0900)]
maru_bl : Add new backlight device for Tizen emulator
Add new backlight(& lcd) device for Tizen emulator
Change-Id: I76299ceac5d347fb69d8f4c6f7c60097d95b9b2a
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
Jinhyung Choi [Thu, 27 Feb 2014 08:17:33 +0000 (17:17 +0900)]
SENSOR: removed the warning of __ATTR_RW duplication
Change-Id: Ib77bec32159781acf034c6be8f33ab7907d163f0
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
GiWoong Kim [Thu, 27 Feb 2014 07:37:53 +0000 (16:37 +0900)]
maru: replace virtqueue_add_buf function
replace virtqueue_add_buf function with add_inbuf
or add_outbuf
Change-Id: I09224954e1d603ea723bc6e4b7c9d64b9f5fa3df
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
Jinhyung Choi [Thu, 23 Jan 2014 07:59:42 +0000 (16:59 +0900)]
sensor driver: added virtio sensor device
Change-Id: Id68afed696a04c622c84deb1dc9f70e69fbdf355
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
Sooyoung Ha [Wed, 22 Jan 2014 05:27:51 +0000 (14:27 +0900)]
vdpram: merge vdpram driver.
merge drivers/char/vdpram.c to 3.10 branch.
Change-Id: I3498343fc7811230c7911f7b219ead917938c91a
Signed-off-by: Sooyoung Ha <yoosah.ha@samsung.com>
Munkyu Im [Tue, 21 Jan 2014 08:43:17 +0000 (17:43 +0900)]
maru: add NFC, EVDI driver
Change-Id: Ibe28c591a31039609a5ad1a10ac99cb471e0099b
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
Kitae Kim [Tue, 14 Jan 2014 03:09:00 +0000 (12:09 +0900)]
brillcodec: remove deprecated attributes.
The attributes such as __devinit causes compilation errors.
In addition, VM_IO flag is removed because it is set by remap_pfn_range().
Change-Id: I33d69322b304679186fb767948347929600623a4
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Mon, 30 Sep 2013 02:43:50 +0000 (11:43 +0900)]
brillcodec: changed module name and config file.
Change-Id: Idfd67412afcd17bef283bc08867ed409285bd79e
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 28 Nov 2013 09:45:28 +0000 (18:45 +0900)]
brillcodec: add memory disposal routine.
When a process has been killed, occupied memory blocks have to be disposed.
In addition to this, add memory disposal routine in case of deinit
to check if there are unleased memory blocks or not.
Change-Id: I6396595497d760cd07290904f4c446838396e7a8
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 28 Nov 2013 07:27:00 +0000 (16:27 +0900)]
brillcodec: fix release memory routine.
If release memory occurs twice with the same memory offset,
it might cause an error.
semaphore for memory block should be increased in the if-statement.
Change-Id: Ic332eec1e64d5b134b8671b38552b470196e01a0
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Fri, 22 Nov 2013 10:53:33 +0000 (19:53 +0900)]
brillcodec: remove unnecessary I/O command.
Since file_index is not used to identify codec context,
its i/o command is removed.
Change-Id: Ied7ec997c08eabe9dd981f6bdc359eafc2df81f9
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Wed, 20 Nov 2013 08:13:59 +0000 (17:13 +0900)]
brillcodec: unified I/O commands between gst-plugins-emulator and this driver.
Include write operation in ioctl operation as per its functionality because
using both ioctl and write operation might be confusing to understand control flow.
Change-Id: Iac5445f0e15282f40561cfb62f01db90af803c7e
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Tue, 19 Nov 2013 06:53:24 +0000 (15:53 +0900)]
brillcodec: added functions to manage context_id.
This driver does not need to use struct file pointer as a unique id,
because applications derived from gst-plugins-emulator use one file descriptor per a process,
So, it needs to manage id of codec context per a process.
Change-Id: I1a15a602674e5abe0fec9899adfa447222fbc360
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
SeokYeon Hwang [Fri, 15 Nov 2013 10:01:46 +0000 (19:01 +0900)]
brillcodec: Change a way to protect critical section.
Change-Id: Ib63f099bb6d2993da6c946bb70123e454b327b8b
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
SeokYeon Hwang [Wed, 13 Nov 2013 06:01:51 +0000 (15:01 +0900)]
brillcodec: Avoid some multi-threading unsafe issue.
Change-Id: Idc46d39b0c5044b54ef3a2d5778d2bdb19c98a1e
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
SeokYeon Hwang [Tue, 12 Nov 2013 10:34:55 +0000 (19:34 +0900)]
brillcodec: Remove unused command.
Change-Id: I5a41a14300c0028fef15798cfa272ecf351741b0
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
SeokYeon Hwang [Tue, 12 Nov 2013 08:15:09 +0000 (17:15 +0900)]
brillcodec: enhancement logic about using direct buffer.
Use a device buffer wisely.
Adjust numbers of buffers.
Change-Id: I726c76ddee4c99d12f7a3b6f629508e227ad4d62
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
SeokYeon Hwang [Wed, 6 Nov 2013 07:29:37 +0000 (16:29 +0900)]
brillcodec: change major ioctl command.
1. Memory block is chosen by device driver depending on buffer size.
2. Reduce number of ioctl commands.
3. Introduce "try_secure_mem" and source clean-up.
Change-Id: Ie67cb2c2e382322cc842a0bb3af5aca42286577b
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
Kitae Kim [Thu, 24 Oct 2013 16:44:40 +0000 (01:44 +0900)]
brillcodec: source clean-up and store each codec information
When a process tried to use codec at first, codec device from qemu
copied codec information such as name, media type and etc.
In addtion to this, codec set is determined at libav compile time.
That's why driver stores codec information as a cache.
Change-Id: I4c4734301bc12419ee92d789ddd35d2bc3348cc3
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 24 Oct 2013 05:30:20 +0000 (14:30 +0900)]
brillcodec: disable debug messages.
Debug messages might affect performance, especially on Windows
even if the messages are not printed into klog file.
Change-Id: I11ee2dc9d3173e64267de1c6076f0dd3b0d599e9
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Fri, 18 Oct 2013 02:52:02 +0000 (11:52 +0900)]
brillcodec: handle flush_buffer routine.
Change-Id: I414167e8e14145a1b71d892e8492da60de8983c4
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Wed, 11 Sep 2013 11:42:50 +0000 (20:42 +0900)]
brillcodec: Source clean-up and rename device name.
Changed the driver name from newcodec to brillcodec.
Change-Id: I5630c18507c31e79995ed29bd6a736bdcaff10ba
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 5 Sep 2013 02:39:10 +0000 (11:39 +0900)]
new_codec: source clean-up.
Change-Id: Iebc004176bef6ce96edd0aa1eba75c00f30372a7
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Sun, 1 Sep 2013 13:32:28 +0000 (22:32 +0900)]
new_codec: modified the method of memory usage to improve performance.
Separate the memory to use effectively from several regions
when processing mutli contexts.
Change-Id: I4e4269d31aac6ad5ba53e76eedb7c4733e8e95db
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 22 Aug 2013 05:31:07 +0000 (14:31 +0900)]
new_codec: changed a way to look up available memory block.
Use a list instead of an array to manage device memory.
In addition, remove useless source in this moudle.
Change-Id: I2f421c8d786ae5edb623713922279d64fe9f8ba2
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 16 May 2013 01:30:30 +0000 (10:30 +0900)]
new_codec: changed cmd messages and source clean-up.
get version of device module during probing driver.
And remove or change cmd messages.
Change-Id: I09964c7b5a1bdda90b19d6b742f903245e102ef2
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
SeokYeon Hwang [Wed, 15 May 2013 12:34:54 +0000 (21:34 +0900)]
new_codec: improved performance as codec reduced the number of memory copies.
When giving decoded outbuffer to plugin of user process from device,
use device memory region directly as an buffer to reduce memcpy overheads.
Change-Id: If440dcf304affc47ca4ec2d596a60e2e51963fef
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
Kitae Kim [Sat, 11 May 2013 08:56:21 +0000 (17:56 +0900)]
new_codec: change lock routine between user and kernel.
Change-Id: Ic82cd689872b862c875a04368a0228313cfa9147
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Fri, 10 May 2013 05:02:04 +0000 (14:02 +0900)]
new_codec: modified wrong value assignment.
Change-Id: I6794d820c4b58538bf4ffa6d125460f4dca48f38
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Fri, 10 May 2013 02:55:11 +0000 (11:55 +0900)]
new_codec: change device_id
pci_device_id was wrong.
Change-Id: I79f9bb8d124cafd390d4e362a7f3087a7546ed90
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Fri, 10 May 2013 02:24:15 +0000 (11:24 +0900)]
new_codec: changed a way to copy data between guest and host.
Use mutex to reduce frequent context switching from user to kernel.
And removed a routine that occupies device memory exclusively.
Change-Id: I4cb8e0a255bafb3fec6b01307ad31ddc6666ce64
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Wed, 8 May 2013 14:27:29 +0000 (23:27 +0900)]
new_codec: change log macro.
Change-Id: Ia04178bcfa80ab8904bc62c36b0d293539ec31ef
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Fri, 19 Apr 2013 02:52:00 +0000 (11:52 +0900)]
new_codec: source clean-up
Removed unnecessary sources and added a way to check null pointer.
Change-Id: Ib8fef0c7d63921d31265dc12e5e9ca07b893816c
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Thu, 28 Mar 2013 03:06:48 +0000 (12:06 +0900)]
new_codec: remove unnecessary whitespaces and code.
Change-Id: Ie5f8351ea4ee783c2e78b121326bad9e21658c12
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Kitae Kim [Tue, 12 Mar 2013 10:50:04 +0000 (19:50 +0900)]
new_codec: added new codec driver module.
Change-Id: I11f4959d4abbddd4aff33aea5812fe700aafdb72
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>