summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrent Baude <ranger@gentoo.org>2007-12-18 22:34:10 +0000
committerBrent Baude <ranger@gentoo.org>2007-12-18 22:34:10 +0000
commit876fe0957709729b0c99c763731efc879ad1ecb9 (patch)
treef855b3a1ce0ddc66cb8ea7f28ed955c91ba62218
parentdtc was added to the tree by lu (diff)
downloadcell-876fe0957709729b0c99c763731efc879ad1ecb9.tar.gz
cell-876fe0957709729b0c99c763731efc879ad1ecb9.tar.bz2
cell-876fe0957709729b0c99c763731efc879ad1ecb9.zip
Adding fb fix for 2.10 sony bustage
svn path=/; revision=26
-rw-r--r--sys-kernel/ps3-sources/Manifest12
-rw-r--r--sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff61
-rw-r--r--sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild2
3 files changed, 71 insertions, 4 deletions
diff --git a/sys-kernel/ps3-sources/Manifest b/sys-kernel/ps3-sources/Manifest
index 05f0dc0..f51a7f8 100644
--- a/sys-kernel/ps3-sources/Manifest
+++ b/sys-kernel/ps3-sources/Manifest
@@ -6,6 +6,10 @@ AUX ps3-wireless.config 28021 RMD160 252ab5485a7d029d3b0d2457693ec27d051a72a9 SH
MD5 c8d2cd0cc02a119cf3afa33e25a0f2b1 files/ps3-wireless.config 28021
RMD160 252ab5485a7d029d3b0d2457693ec27d051a72a9 files/ps3-wireless.config 28021
SHA256 fa15fcfb783ae59d676aa1fd099fdd6d21990277018757064a8b8cb4c3fb7d22 files/ps3-wireless.config 28021
+AUX ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071 RMD160 d60eaaa6ed2a5f4514a7d2090758017f9e234359 SHA1 22053c544ddae2f53ee13cb216e42a5b792cd79f SHA256 c686c8bcde8aad669165d21f68f0a76912b8bb143e860a8507996b11ffe38d75
+MD5 04e2efb43bc6f590a36e783f41ed6c44 files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071
+RMD160 d60eaaa6ed2a5f4514a7d2090758017f9e234359 files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071
+SHA256 c686c8bcde8aad669165d21f68f0a76912b8bb143e860a8507996b11ffe38d75 files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff 2071
AUX squashfs-3.2-r2.diff.bz2 18915 RMD160 d87a84d5f61f56d594ff81e40e785d6175a72713 SHA1 14a7e3564a2f6619914167db3c0c02a5e748ee84 SHA256 445f0e6e2c597c623b3134508627499cc5506d9dfa06bf8d3116f078723f139b
MD5 53a80d77404a14c00c0609e78f58c338 files/squashfs-3.2-r2.diff.bz2 18915
RMD160 d87a84d5f61f56d594ff81e40e785d6175a72713 files/squashfs-3.2-r2.diff.bz2 18915
@@ -27,10 +31,10 @@ EBUILD ps3-sources-2.6.16-r2.ebuild 725 RMD160 8652da9ebded07be8ec39b0af36947fe5
MD5 bd287259aa74a1f268580e815c2135ca ps3-sources-2.6.16-r2.ebuild 725
RMD160 8652da9ebded07be8ec39b0af36947fe53a5eeed ps3-sources-2.6.16-r2.ebuild 725
SHA256 1e530c6f22cc0474c1257355a0b5bb389cd62a94200d9b8d5b5b487881d7dbfc ps3-sources-2.6.16-r2.ebuild 725
-EBUILD ps3-sources-2.6.23.ebuild 506 RMD160 8c3fef418898fe6c91d05d45088e17d03925d2a0 SHA1 28eb1b83e1dc9eb99b56b71ac10a94ea361c262e SHA256 530a7cfb0699b5b259a222fba8154921f6b962a81001d4aa81301037923f021b
-MD5 c2289c4764f19990271a5bab9c54c843 ps3-sources-2.6.23.ebuild 506
-RMD160 8c3fef418898fe6c91d05d45088e17d03925d2a0 ps3-sources-2.6.23.ebuild 506
-SHA256 530a7cfb0699b5b259a222fba8154921f6b962a81001d4aa81301037923f021b ps3-sources-2.6.23.ebuild 506
+EBUILD ps3-sources-2.6.23.ebuild 587 RMD160 1b5ee294599127de6410d7b4cdb5b6d5ea2e7b8f SHA1 b68b27b77de4c72242732bd98877738e9e92af6c SHA256 c656716e3d2fa900ac5f95a013c1178d21fa6427e004293121237af6a011e933
+MD5 ddaee18541e7942abea3cc56fa972bc3 ps3-sources-2.6.23.ebuild 587
+RMD160 1b5ee294599127de6410d7b4cdb5b6d5ea2e7b8f ps3-sources-2.6.23.ebuild 587
+SHA256 c656716e3d2fa900ac5f95a013c1178d21fa6427e004293121237af6a011e933 ps3-sources-2.6.23.ebuild 587
MD5 681c10fd35a5a8db9f15d2466363f353 files/digest-ps3-sources-2.6.16-r1 494
RMD160 4e1038ea2b6a0bb858d694adb501555134012e99 files/digest-ps3-sources-2.6.16-r1 494
SHA256 27396117bd919967440fda52e25bf610a0d4bc9ad27ad2b9cb38422f327bd995 files/digest-ps3-sources-2.6.16-r1 494
diff --git a/sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff b/sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff
new file mode 100644
index 0000000..bc4aeca
--- /dev/null
+++ b/sys-kernel/ps3-sources/files/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff
@@ -0,0 +1,61 @@
+--- linux-2.6.23.orig/drivers/video/ps3fb.c
++++ linux-2.6.23/drivers/video/ps3fb.c
+@@ -52,7 +52,8 @@
+ #define L1GPU_DISPLAY_SYNC_VSYNC 2
+
+ #define DDR_SIZE (0) /* used no ddr */
+-#define GPU_CMD_BUF_SIZE (64 * 1024)
++#define GPU_CMD_BUF_SIZE (2 * 1024 * 1024)
++#define GPU_FB_START (64 * 1024)
+ #define GPU_IOIF (0x0d000000UL)
+ #define GPU_ALIGN_UP(x) _ALIGN_UP((x), 64)
+ #define GPU_MAX_LINE_LENGTH (65536 - 64)
+@@ -407,6 +408,7 @@
+ if (src_line_length != dst_line_length)
+ line_length |= (u64)src_line_length << 32;
+
++ src_offset += GPU_FB_START;
+ status = lv1_gpu_context_attribute(ps3fb.context_handle,
+ L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT,
+ dst_offset, GPU_IOIF + src_offset,
+@@ -977,9 +979,8 @@
+
+ status = lv1_gpu_context_attribute(ps3fb.context_handle,
+ L1GPU_CONTEXT_ATTRIBUTE_FB_SETUP,
+- xdr_lpar + ps3fb.xdr_size,
+- GPU_CMD_BUF_SIZE,
+- GPU_IOIF + ps3fb.xdr_size, 0);
++ xdr_lpar, GPU_CMD_BUF_SIZE,
++ GPU_IOIF, 0);
+ if (status) {
+ dev_err(dev,
+ "%s: lv1_gpu_context_attribute FB_SETUP failed: %d\n",
+@@ -1061,6 +1062,11 @@
+ int status, res_index;
+ struct task_struct *task;
+
++ if (ps3fb_videomemory.size < GPU_CMD_BUF_SIZE) {
++ dev_err(&dev->core, "%s: Not enough video memory\n", __func__);
++ return -ENOMEM;
++ }
++
+ status = ps3_open_hv_device(dev);
+ if (status) {
+ dev_err(&dev->core, "%s: ps3_open_hv_device failed\n",
+@@ -1124,8 +1130,14 @@
+ /* Clear memory to prevent kernel info leakage into userspace */
+ memset(ps3fb.xdr_ea, 0, ps3fb_videomemory.size);
+
+- /* The GPU command buffer is at the end of video memory */
+- ps3fb.xdr_size = ps3fb_videomemory.size - GPU_CMD_BUF_SIZE;
++ /*
++ * The GPU command buffer is at the start of video memory
++ * As we don't use the full command buffer, we can put the actual
++ * frame buffer at offset GPU_FB_START and save some precious XDR
++ * memory
++ */
++ ps3fb.xdr_ea += GPU_FB_START;
++ ps3fb.xdr_size = ps3fb_videomemory.size - GPU_FB_START;
+
+ retval = ps3fb_xdr_settings(xdr_lpar, &dev->core);
+ if (retval)
diff --git a/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild b/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild
index 793c06f..ec7bb24 100644
--- a/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild
+++ b/sys-kernel/ps3-sources/ps3-sources-2.6.23.ebuild
@@ -22,6 +22,8 @@ src_unpack() {
#cd ${S}
cd ..
epatch ${DISTDIR}/${PV}-ps3updates.diff.bz2
+ epatch ${FILESDIR}/ps3fb-fix-gpu-cmd-buff-size-2.10-linux-2.6.23-20071023.diff
+
}