From 232d3a6e1ceab142f41e422f74cab4804ca381a1 Mon Sep 17 00:00:00 2001 From: YoungJun Cho Date: Thu, 1 Dec 2016 11:55:13 +0900 Subject: [PATCH 01/16] tbm_bufmgr_sprd: fix wrong ioctl() parameter This patch fixes wrong ioctl() parameter. Change-Id: Ic8cea15bd8c2a16b6aadbc362a6cd185f5bad83f Signed-off-by: YoungJun Cho --- src/tbm_bufmgr_sprd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tbm_bufmgr_sprd.c b/src/tbm_bufmgr_sprd.c index 9d1f486..5e12c8f 100644 --- a/src/tbm_bufmgr_sprd.c +++ b/src/tbm_bufmgr_sprd.c @@ -330,7 +330,7 @@ _tgl_lock(int fd, unsigned int key, int opt) data.key = key; data.type = tgl_type; - err = ioctl(fd, TGL_IOCTL_LOCK, data); + err = ioctl(fd, TGL_IOCTL_LOCK, &data); if (err) { TBM_SPRD_ERROR("error(%s) key:%d opt:%d\n", strerror(errno), key, opt); @@ -349,7 +349,7 @@ _tgl_unlock(int fd, unsigned int key) data.key = key; data.type = TGL_TYPE_NONE; - err = ioctl(fd, TGL_IOCTL_UNLOCK, data); + err = ioctl(fd, TGL_IOCTL_UNLOCK, &data); if (err) { TBM_SPRD_ERROR("error(%s) key:%d\n", strerror(errno), key); -- 2.7.4 From 6f47a08953c3eb4a01fbb5c6a5c796d552bb9842 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Mon, 5 Dec 2016 16:22:12 +0900 Subject: [PATCH 02/16] package version up to 1.0.7 Change-Id: Ieb539c12177937b64283fca567bcbc36b58d0a01 --- packaging/libtbm-sprd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index ec91902..b1d189d 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -1,5 +1,5 @@ Name: libtbm-sprd -Version: 1.0.6 +Version: 1.0.7 Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend -- 2.7.4 From ebb5989fb6251ecc8043e0438034d87b414761ff Mon Sep 17 00:00:00 2001 From: Roman Marchenko Date: Wed, 28 Dec 2016 11:11:49 +0200 Subject: [PATCH 03/16] fix memory leak in init_tbm_bufmgr_priv() - bufmgr_sprd->device_name is come from strdup(). so it should be free if init failed. Change-Id: I862d057ce6bd503685a6ff1576baa1e9423ca7d3 Signed-off-by: Roman Marchenko --- src/tbm_bufmgr_sprd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tbm_bufmgr_sprd.c b/src/tbm_bufmgr_sprd.c index 5e12c8f..558aaf7 100644 --- a/src/tbm_bufmgr_sprd.c +++ b/src/tbm_bufmgr_sprd.c @@ -1853,6 +1853,8 @@ fail_init_cache_state: drmHashDestroy(bufmgr_sprd->hashBos); if (tbm_backend_is_display_server()) tbm_drm_helper_unset_tbm_master_fd(); + if (bufmgr_sprd->device_name) + free(bufmgr_sprd->device_name); fail_get_device_name: close(bufmgr_sprd->fd); fail_get_auth_info: -- 2.7.4 From 675109d2e310053e8cdb4cedf50e7e955d5d0a74 Mon Sep 17 00:00:00 2001 From: Boram Park Date: Thu, 5 Jan 2017 12:55:46 +0900 Subject: [PATCH 04/16] package version up to 1.0.8 Change-Id: I36f7f3d3d3296cb126ed14f3fb6fc5fdde6198e7 --- packaging/libtbm-sprd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index b1d189d..b87ccec 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -1,5 +1,5 @@ Name: libtbm-sprd -Version: 1.0.7 +Version: 1.0.8 Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend -- 2.7.4 From 9890f2b47ec063a144fa91025ed7e70fdd9886db Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Thu, 12 Jan 2017 19:19:19 +0900 Subject: [PATCH 05/16] added tbm_drm_helper_set/unset_fd Change-Id: Ic09676af10fb55dc6a615fa357fe158e3a3bb4fc --- src/tbm_bufmgr_sprd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tbm_bufmgr_sprd.c b/src/tbm_bufmgr_sprd.c index 558aaf7..35535e3 100644 --- a/src/tbm_bufmgr_sprd.c +++ b/src/tbm_bufmgr_sprd.c @@ -1408,6 +1408,8 @@ tbm_sprd_bufmgr_deinit(void *priv) if (tbm_backend_is_display_server()) tbm_drm_helper_unset_tbm_master_fd(); + else + tbm_drm_helper_unset_fd(); if (bufmgr_sprd->device_name) free(bufmgr_sprd->device_name); @@ -1773,6 +1775,8 @@ init_tbm_bufmgr_priv(tbm_bufmgr bufmgr, int fd) TBM_SPRD_ERROR("fail to get auth drm info!\n"); goto fail_get_auth_info; } + + tbm_drm_helper_set_fd(bufmgr_sprd->fd); } //Create Hash Table @@ -1853,6 +1857,8 @@ fail_init_cache_state: drmHashDestroy(bufmgr_sprd->hashBos); if (tbm_backend_is_display_server()) tbm_drm_helper_unset_tbm_master_fd(); + else + tbm_drm_helper_unset_fd(); if (bufmgr_sprd->device_name) free(bufmgr_sprd->device_name); fail_get_device_name: -- 2.7.4 From 47b7175b6d7bab7aefaceda5c6e0f7ebbaeaf0f2 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 21 Feb 2017 17:28:34 +0900 Subject: [PATCH 06/16] Do not use tizen-target-name In unified build environment (Tizen:Unified), you should not use any macro that depends on repository/profile. Without this commit, this package won't be able to be built in Tizen:Unified. Change-Id: I71bbd0a83abab6cd38be582febe711a624dd2c98 --- packaging/libtbm-sprd.spec | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index b87ccec..9edd165 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -4,17 +4,14 @@ Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend Group: System/Libraries -ExcludeArch: i586 x86_64 -%if ("%{?tizen_target_name}" != "TM1") -ExclusiveArch: -%endif +ExcludeArch: i586 x86_64 aarch64 Source0: %{name}-%{version}.tar.gz BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libtbm) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(libudev) -BuildRequires: kernel-headers-tizen-dev +BuildRequires: kernel-headers-3.10-sc7730 BuildConflicts: linux-glibc-devel %description -- 2.7.4 From 60d0228a98d1929dd9454269ca4228b508363429 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 21 Feb 2017 19:04:20 +0900 Subject: [PATCH 07/16] Revert "Do not use tizen-target-name" This reverts commit 47b7175b6d7bab7aefaceda5c6e0f7ebbaeaf0f2. Change-Id: Ib517bc120f54d94df322aeff238ab6333cd9daee --- packaging/libtbm-sprd.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index 9edd165..b87ccec 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -4,14 +4,17 @@ Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend Group: System/Libraries -ExcludeArch: i586 x86_64 aarch64 +ExcludeArch: i586 x86_64 +%if ("%{?tizen_target_name}" != "TM1") +ExclusiveArch: +%endif Source0: %{name}-%{version}.tar.gz BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libtbm) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(libudev) -BuildRequires: kernel-headers-3.10-sc7730 +BuildRequires: kernel-headers-tizen-dev BuildConflicts: linux-glibc-devel %description -- 2.7.4 From 01366058d1741b08b406767615d596f98be75b81 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Wed, 22 Feb 2017 11:06:54 +0900 Subject: [PATCH 08/16] Revert "Revert "Do not use tizen-target-name"" This reverts commit 60d0228a98d1929dd9454269ca4228b508363429. --- packaging/libtbm-sprd.spec | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index b87ccec..9edd165 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -4,17 +4,14 @@ Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend Group: System/Libraries -ExcludeArch: i586 x86_64 -%if ("%{?tizen_target_name}" != "TM1") -ExclusiveArch: -%endif +ExcludeArch: i586 x86_64 aarch64 Source0: %{name}-%{version}.tar.gz BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libtbm) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(libudev) -BuildRequires: kernel-headers-tizen-dev +BuildRequires: kernel-headers-3.10-sc7730 BuildConflicts: linux-glibc-devel %description -- 2.7.4 From 2d2c75ee21871a53cd29585d79a9f0a6b260af43 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Wed, 22 Feb 2017 14:38:33 +0900 Subject: [PATCH 09/16] fix the excludeArch for i586 Change-Id: I500538bfef920d9a07eb4f6ee820b11fb2801ed8 --- packaging/libtbm-sprd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index 9edd165..4f7260d 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -4,7 +4,7 @@ Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend Group: System/Libraries -ExcludeArch: i586 x86_64 aarch64 +ExcludeArch: %{ix86} x86_64 aarch64 Source0: %{name}-%{version}.tar.gz BuildRequires: pkgconfig(libdrm) -- 2.7.4 From 7998c518fa348b8888c7166654407bca28da09f9 Mon Sep 17 00:00:00 2001 From: "Mun, Gwan-gyeong" Date: Tue, 21 Mar 2017 11:33:04 +0900 Subject: [PATCH 10/16] Apply tbm_drm_helper_set / unset_fd both of server(master) and client. Some GLES/EGL Driver ,like as MESA, can call tbm_drm_helper_get_fd() both of server(master) and client. so, tbm backend should call tbm_drm_helper_set / unset over both of server(master) and client case. Change-Id: I4597f904bec3d4e6e20868a6ebf402d808ab7a9a Signed-off-by: Mun, Gwan-gyeong --- src/tbm_bufmgr_sprd.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/tbm_bufmgr_sprd.c b/src/tbm_bufmgr_sprd.c index 35535e3..ab15e62 100644 --- a/src/tbm_bufmgr_sprd.c +++ b/src/tbm_bufmgr_sprd.c @@ -1408,8 +1408,8 @@ tbm_sprd_bufmgr_deinit(void *priv) if (tbm_backend_is_display_server()) tbm_drm_helper_unset_tbm_master_fd(); - else - tbm_drm_helper_unset_fd(); + + tbm_drm_helper_unset_fd(); if (bufmgr_sprd->device_name) free(bufmgr_sprd->device_name); @@ -1776,8 +1776,8 @@ init_tbm_bufmgr_priv(tbm_bufmgr bufmgr, int fd) goto fail_get_auth_info; } - tbm_drm_helper_set_fd(bufmgr_sprd->fd); } + tbm_drm_helper_set_fd(bufmgr_sprd->fd); //Create Hash Table bufmgr_sprd->hashBos = drmHashCreate(); @@ -1857,8 +1857,7 @@ fail_init_cache_state: drmHashDestroy(bufmgr_sprd->hashBos); if (tbm_backend_is_display_server()) tbm_drm_helper_unset_tbm_master_fd(); - else - tbm_drm_helper_unset_fd(); + tbm_drm_helper_unset_fd(); if (bufmgr_sprd->device_name) free(bufmgr_sprd->device_name); fail_get_device_name: -- 2.7.4 From 84e44f68c20dc0a4c7608ebab4c2975bb56d10e1 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Wed, 22 Mar 2017 15:44:20 +0900 Subject: [PATCH 11/16] use %license macro to copy the COPYING file. Change-Id: I498e72741500017ae68382b931ca6a7397683311 --- packaging/libtbm-sprd.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index 4f7260d..49b5d45 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -31,8 +31,6 @@ make %{?_smp_mflags} %install rm -rf %{buildroot} -mkdir -p %{buildroot}/%{TZ_SYS_RO_SHARE}/license -cp -af COPYING %{buildroot}/%{TZ_SYS_RO_SHARE}/license/%{name} mkdir -p %{buildroot}%{_libdir}/udev/rules.d/ cp -af rules/99-libtbm_sprd.rules %{buildroot}%{_libdir}/udev/rules.d/ %make_install @@ -48,7 +46,7 @@ ln -s libtbm_sprd.so %{_libdir}/bufmgr/libtbm_default.so %files %defattr(-,root,root,-) -%{TZ_SYS_RO_SHARE}/license/%{name} +%license COPYING %{_libdir}/bufmgr/libtbm_*.so* %{_libdir}/udev/rules.d/99-libtbm_sprd.rules -- 2.7.4 From 78dfd182075a594eab621b54f8e0788919da12d9 Mon Sep 17 00:00:00 2001 From: Boram Park Date: Thu, 23 Mar 2017 18:20:10 +0900 Subject: [PATCH 12/16] correct plane's offset Change-Id: If5ee84530b1785d40eaec8fbd833ef2036ed753b --- src/tbm_bufmgr_sprd.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/tbm_bufmgr_sprd.c b/src/tbm_bufmgr_sprd.c index ab15e62..2de5855 100644 --- a/src/tbm_bufmgr_sprd.c +++ b/src/tbm_bufmgr_sprd.c @@ -1539,14 +1539,19 @@ tbm_sprd_surface_get_plane_data(int width, int height, case TBM_FORMAT_NV12: case TBM_FORMAT_NV21: bpp = 12; - if (plane_idx == 0) { +// if (plane_idx == 0) + { _offset = 0; _pitch = SIZE_ALIGN(width , TBM_SURFACE_ALIGNMENT_PITCH_YUV); _align_height = SIZE_ALIGN(height, TBM_SURFACE_ALIGNMENT_PITCH_YUV); _size = SIZE_ALIGN(_pitch * _align_height, TBM_SURFACE_ALIGNMENT_PLANE); _bo_idx = 0; - } else if (plane_idx == 1) { - _offset = width * height; + if (plane_idx == 0) + break; + } +// else if (plane_idx == 1) + { + _offset = _size; _pitch = SIZE_ALIGN(width , TBM_SURFACE_ALIGNMENT_PITCH_YUV / 2); _align_height = SIZE_ALIGN(height / 2, TBM_SURFACE_ALIGNMENT_PITCH_YUV); _size = SIZE_ALIGN(_pitch * _align_height, TBM_SURFACE_ALIGNMENT_PLANE); -- 2.7.4 From 3f72b3b9043f4f17bb39f5e7600bd4ad81682a69 Mon Sep 17 00:00:00 2001 From: Boram Park Date: Thu, 23 Mar 2017 19:22:15 +0900 Subject: [PATCH 13/16] package version up to 1.0.9 Change-Id: Ia1228e726407df52104ca39f6b01f125e52b1432 --- packaging/libtbm-sprd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index 49b5d45..7f6f5a9 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -1,5 +1,5 @@ Name: libtbm-sprd -Version: 1.0.8 +Version: 1.0.9 Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend -- 2.7.4 From 65509da216c47a13a46f32a8749759d0a09c6ac1 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 25 Jul 2017 17:10:16 +0900 Subject: [PATCH 14/16] add manifest Change-Id: If276c621e33b4c1c4bbf0b1fd25d1d1136c98393 --- packaging/libtbm-sprd.manifest | 5 +++++ packaging/libtbm-sprd.spec | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 packaging/libtbm-sprd.manifest diff --git a/packaging/libtbm-sprd.manifest b/packaging/libtbm-sprd.manifest new file mode 100644 index 0000000..75b0fa5 --- /dev/null +++ b/packaging/libtbm-sprd.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index 7f6f5a9..32d5b23 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -6,6 +6,7 @@ Summary: Tizen Buffer Manager - sprd backend Group: System/Libraries ExcludeArch: %{ix86} x86_64 aarch64 Source0: %{name}-%{version}.tar.gz +Source1001: %{name}.manifest BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libtbm) @@ -21,6 +22,7 @@ descriptionion:Tizen Buffer manager backend module for spreadtrum %prep %setup -q +cp %{SOURCE1001} . %build @@ -45,7 +47,7 @@ ln -s libtbm_sprd.so %{_libdir}/bufmgr/libtbm_default.so %postun -p /sbin/ldconfig %files -%defattr(-,root,root,-) +%manifest %{name}.manifest %license COPYING %{_libdir}/bufmgr/libtbm_*.so* %{_libdir}/udev/rules.d/99-libtbm_sprd.rules -- 2.7.4 From f95ca1e6cdafb6a1b56e3c992e030162de5224c5 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 25 Jul 2017 17:11:37 +0900 Subject: [PATCH 15/16] remove the unused code Change-Id: I52a41966bc6dafaa5ec8a1649b40a22742f79b3c --- packaging/libtbm-sprd.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index 32d5b23..fdd5b58 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -18,8 +18,6 @@ BuildConflicts: linux-glibc-devel %description descriptionion:Tizen Buffer manager backend module for spreadtrum -%global TZ_SYS_RO_SHARE %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:/usr/share} - %prep %setup -q cp %{SOURCE1001} . @@ -33,10 +31,12 @@ make %{?_smp_mflags} %install rm -rf %{buildroot} + +# make rule for tgl mkdir -p %{buildroot}%{_libdir}/udev/rules.d/ cp -af rules/99-libtbm_sprd.rules %{buildroot}%{_libdir}/udev/rules.d/ -%make_install +%make_install %post if [ -f %{_libdir}/bufmgr/libtbm_default.so ]; then -- 2.7.4 From 7e0c38345a381a7bab4f72bb77fd60954266de1f Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 25 Jul 2017 17:24:13 +0900 Subject: [PATCH 16/16] package version up to 1.0.10 Change-Id: Ic7d42282aac1919863453039b7e531b730de3538 --- packaging/libtbm-sprd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/libtbm-sprd.spec b/packaging/libtbm-sprd.spec index fdd5b58..a05d280 100644 --- a/packaging/libtbm-sprd.spec +++ b/packaging/libtbm-sprd.spec @@ -1,5 +1,5 @@ Name: libtbm-sprd -Version: 1.0.9 +Version: 1.0.10 Release: 0 License: MIT Summary: Tizen Buffer Manager - sprd backend -- 2.7.4