LINUX.ORG.RU
решено ФорумMobile

в планшет памяти не доложили, или я чего-то в ARM-ах не понимаю?

 2918, ,


0

1

Приветствую.

Прикупил тут дешевый ODM планшет на RockChip 2918, с заявленной RAM 1Gb. Начало dmesg выглядит так:

<6>[    0.000000] Initializing cgroup subsys cpu
<5>[    0.000000] Linux version 3.0.8+ (dong@dong) (gcc version 4.4.0 (GCC) ) #872 PREEMPT Mon May 7 09:38:14 CST 2012
<4>[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
<4>[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
<4>[    0.000000] Machine: RK29board
<4>[    0.000000] Memory policy: ECC disabled, Data cache writeback
<4>[    0.000000] Boot mode: 6
<6>[    0.000000] bootconsole [earlycon0] enabled
<4>[    0.000000] CPU SRAM: copied sram code from c0b2f000 to fef00000 - fef01b68
<4>[    0.000000] CPU SRAM: copied sram data from c0b30b68 to fef03000 - fef031d0
<4>[    0.000000] clock: pll_wait_lock: wait pll bit 0x4000000 time out!
<4>[    0.000000] clock: pll_wait_lock: wait pll bit 0x4000000 time out!
<6>[    0.000000] Clocking rate (apll/dpll/cpll/gpll/core/aclk_cpu/hclk_cpu/pclk_cpu/aclk_periph/hclk_periph/pclk_periph): 300/135/297/288/300/150/75/37/144/144/36 MHz (20110909)
<4>[    0.000000] DDR DEBUG: version 2.02 20120401, zqonoff 
<4>[    0.000000] DDR DEBUG: DDR3 Device
<4>[    0.000000] DDR DEBUG: 1 CS, ROW=15, Bank=8, COL=10, Total Capability=1024MB
<4>[    0.000000] DDR DEBUG: init success!!! freq=426MHz
<4>[    0.000000] DDR DEBUG: CSR:0x0, RSLR0:0x249, RSLR1:0x0, RDGR0:0x55, RDGR1:0x55
<7>[    0.000000] On node 0 totalpages: 76032
<7>[    0.000000] free_area_init_node: node 0, pgdat c0b2d658, node_mem_map c0000000
<7>[    0.000000]   DMA zone: 594 pages used for memmap
<7>[    0.000000]   DMA zone: 0 pages reserved
<7>[    0.000000]   DMA zone: 75438 pages, LIFO batch:15
<7>[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
<7>[    0.000000] pcpu-alloc: [0] 0 
<4>[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 75438
<5>[    0.000000] Kernel command line: console=ttyS1,115200n8n androidboot.console=ttyS1 init=/init initrd=0x62000000,0x800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00004000@0x00004000(kernel),0x00008000@0x00008000(boot),0x00008000@0x00010000(recovery),0x00078000@0x00018000(backup),0x0003a000@0x00090000(cache),0x00200000@0x000ca000(userdata),0x00002000@0x002ca000(kpanic),0x00100000@0x002cc000(system),-@0x003cc000(user) bootver=2011-09-08#2.08 firmware_ver=0.2.3
<6>[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
<6>[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
<6>[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
<6>[    0.000000] Memory: 297MB = 297MB total
<5>[    0.000000] Memory: 274944k/274944k available, 29184k reserved, 0K highmem

То есть, ядро видит только 297 метров памяти. Физически гигабайт, вроде бы, распаян: http://imageshack.us/photo/my-images/215/dsc0625x.jpg/ . Модуль DDR ее видит: «Total Capability=1024MB», но затем: «On node 0 totalpages: 76032».

Строчку «Total Capability» может не искать в ванильном ядре, ее там нет. Она растет из банально огороженного arch/arm/mach-rk29/ddr.o, который есть только в rk29sdk от RockChip, и исходника этого файлика нет вообще нигде в открытом доступе.

Вот что все это значит и как так может быть? Если погуглить на тему RK29board, то можно найти еще dmesg-ы, где размер видимой ядром памяти не соответствует тому что оно говорит в «Total Capability».

Видь ядро 512 метров из этого гигабайта, было бы не так обидно, но 300 метров!… Хочу пинать продавца планшета, что бы он пинал как следует китайцев, но хочу делать это аргументировано.

Заранее большое спасибо.

★★★★★
Ответ на: комментарий от Black_Shadow

Ну я все понимаю, видеопамять там, то-сё… Но не триста же из гига!

Если я правильно нашел dmesg от SGS, то там видится 464MB всего и доступно ~340: http://pastebin.com/217Cifi4 — тут все хорошо и правильно, не придерешься.

Кстати спросить, а разве не должна разделяемая видеопамять все-таки видеться ядром?

dmiceman ★★★★★
() автор топика
Ответ на: комментарий от Black_Shadow

На GalaxyTab GT-P1000 из 512 доступно 444мб.

bhfq ★★★★★
()
Ответ на: комментарий от dmiceman

Нет, не должна

Вот и наука не будущее: не связываться с китайским говном. Крупные вендоры типа самсунга и HTC тянут с релизом исходников до последнего, а дядюшки ляо кладут с прибором на gpl.

А по существу: собирай говноисходники, где .o модули в виде .uu файлов. Отредактируй файл борды, функцию fixup, и посмотри конфиг. Судя по всему, в конфиге просто выставлено меньше 512 мегабайт памяти, и второй банк выключен. А так, ~200 метров под всякие dsp/gpu/фреймбуффер - это ок.

alexst
()

у меня так же есть планшет на этом проце, вообщем на стоке он видит весь гиг, но на кастом мороженке видит только 512, а исходников ни где нет(

kostyagordienko
()

Смотри другие проши, возможно это можно вылечить передачей mem=xxx ядру. Ну и файл борды смотреть. А вообще да, рокчип зело огороженная контора. В алвиннере более открыто все.

AiFiLTr0 ★★★★★
()

В общем, мой случай закончился благополучно. Местная контора надавила на китайцев, они выдали новую прошивку.

Еще бы сырцы ядра заполучить…

dmiceman ★★★★★
() автор топика
Ответ на: комментарий от kostyagordienko

Ну если пробовали, то тады ой. Искать планшет на этом же чипе с гигом и ICS, и раздербанивать прошу. ну и mem=xxx попробовать передавать ядру.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от AiFiLTr0

да и это пробовали, планшетов с гигом памяти и нужным разрешением мало, да и прошу от них раскладывали, ввели dmesg - показал, что в планшете гиг памяти, но через настройки, да и вообще видит 512

kostyagordienko
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.