Hello All,

I have been desperately trying to to get the DirectFB working on a 
SH7722 target. I 'am so far that the framebuffer memory area gets 
displayed and it seems that the BEU is working also (If I write some 
data into the BEU layer (given by BSAYR1), it gets copied into the LCDC 
buffer correctly.

The problem is that I haven't been able to get anything out of the 2d 
Graphics engine.  The DirectFB driver gives me some messages (see below 
- I have added some debug messages) but nothing happens on the screen 
when I run dfbtest_window (except for that the BEU copies its source 
buffer one time into to the LCDC space)

Anyone has an idea what might be wrong here or how to debug this thing? 
I would appreciate any help.

Martin

--------------------session:-----------------------------
~ # insmod /lib/modules/`uname -r`/renesas/sh772x_gfx.ko
sh7722gfx: shared area (order 7) at aea80000 [2ea80000] using 507972 bytes
sh7722gfx: jpeg area (order 7) at aeb00000 [2eb00000] using 294912 bytes


~ # cat /etc/directfbrc
#system = fbdev

system = devmem

# 0x0c000000 (ram start) + 56M Requires 'mem=56M' kernel option. That is,
# we tell the kernel that we only have 56M of ram. The last 8M which we
# use for the graphics, the kernel knows nothing of.
video-phys   = 0f800000

video-length = 8388608  # 8MB of physically contiguous memory for 
acceleration

mmio-phys    = fd000000 # Start of 2DG register space
mmio-length  = 65536    # Size of register space

accelerator  = 11591    # 0x2D47 (2DG)

~ # ./dfbtest_window

 [[ main                           ]]  Starting up...

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.3.0 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2008  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2008-10-02 10:23) [ DEBUG ]
Couldnt load module pthres
driver_probe()
driver_get_info()
driver_init_driver()
driver_init_device()
[dfb_gfxcard_reserve_memory:2687] &shared->device_info=0x00418b84
[dfb_gfxcard_reserve_memory:2688] shared->videoram_length=8388608
([sh7722_reset:244] shared->buffer_phys=0x2ea80000                     
0x2ea80000
*) SH7722/LCD: Allocated 640x480 RGB16 Buffer (737280 bytes) at 
0x0ff4c000 (0x29fb6000)
sh7722EngineReset()
  -> not running, hw 0-0, next 0-0 - not valid
[driver_init_device:380] sdev->lcd_phys=0x0ff4c000
[driver_init_device:381] sdev->lcd_pitch=0x00000600
sh7722EngineReset()
  -> not running, hw 0-0, next 0-0 - not v[sh7722_reset:244] 
shared->buffer_phys=0x2ea80000                     0x2ea80000
alid
(*) DirectFB/Graphics: Renesas SH7722 0.9 (Denis & Janine Kropp)
IPAFUHPASIUFDHPASIUFHPAISUFH
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
 (!!!)  *** WARNING [workaround] *** 
[/home/hico/emtrix-2.2/hico7722/pkgs/DirectFB-git/systems/devmem/surfacemanager.c:194
 
in dfb_surfacemanager_allocate()]
BEU_Wait: waiting
        done
BEU_Start: waiting
        done
BEU_Wait: waiting
        done
sh7722CheckState( 0x4215c4, 0x00000001 )
sh7722SetState( 0x4215c4, 0x00000001 ) <- modified 0x00033fff
  -> not running, hw 0-0, next 0-0 - not valid
sh7722_validate_DEST_CLIP( 0x0feb5ff0 [1280] -    0,   0- 640x 480 )
sh7722FillRectangle( 0, 0 - 640x480 )
  -> not running, hw 0-0, next 0-0 - not valid
sh7722EmitCommands()
flush_prepared()
  -> not running, hw 0-0, next 0-0 - not valid
start_hardware()
  -> not running, hw 0-0, next 0-62 - valid
  -> running, hw 0-62, next 64-64 - not valid
[start_hardware:208] shared->buffer_phys=0x2ea80000
[start_hardware:209] shared->hw_start=0x00000000
sh7722EngineSync()
  -> running, hw 0-62, next 64-64 - not valid
BEU_Start: waiting
        done
===============================================================

 [[ Test_CreateWindow              ]]  CreateWindow( 100,100 - 200x200 
UNKNOWN )...
sh7722CheckState( 0x2969f354, 0x00010000 )
sh7722SetState( 0x2969f354, 0x00010000 ) <- modified 0x00033fff
  -> not running, hw 0-62, next 64-64 - not valid
sh7722_validate_DEST_CLIP( 0x0fe1ffe0 [1280] -    0,   0- 640x 480 )
sh7722Blit( 0, 0 - 640x480  -> 0, 0 )
sh7722DoBlit( 0, 0 - 640x480  ->  0, 0 - 640x480 )
  -> not running, hw 0-62, next 64-64 - not valid
sh7722EmitCommands()
flush_prepared()
  -> not running, hw 0-62, next 64-64 - not valid
start_hardware()
  -> not running, hw 0-62, next 64-92 - valid
  -> running, hw 64-92, next 96-96 - not valid
[start_hardware:208] shared->buffer_phys=0x2ea80000
[start_hardware:209] shared->hw_start=0x00000040
sh7722CheckState( 0x2969f354, 0x00010000 )
sh7722SetState( 0x2969f354, 0x00010000 ) <- modified 0x00000304
  -> running, hw 64-92, next 96-96 - not valid
sh7722_validate_DEST_CLIP( 0x0fe1f350 [80] -    0,   0-  40x  40 )
sh7722Blit( 320, 240 - 40x40  -> 0, 0 )
sh7722DoBlit( 320, 240 - 40x40  ->  0, 0 - 40x40 )
  -> running, hw 64-92, next 96-96 - not valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 64-92, next 96-96 - not valid
start_hardware()
  -> running, hw 64-92, next 96-122 - valid
sh7722CheckState( 0x4215c4, 0x00010000 )
sh7722SetState( 0x4215c4, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 64-92, next 96-122 - valid
sh7722_validate_DEST_CLIP( 0x0fe1ffe0 [1280] -  320, 240-  40x  40 )
sh7722Blit( 0, 0 - 40x40  -> 320, 240 )
sh7722DoBlit( 0, 0 - 40x40  ->  320, 240 - 40x40 )
  -> running, hw 64-92, next 96-122 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 64-92, next 96-122 - valid
start_hardware()
  -> running, hw 64-92, next 96-152 - valid
sh7722CheckState( 0x2969f4cc, 0x00010000 )
sh7722SetState( 0x2969f4cc, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 64-92, next 96-152 - valid
sh7722_validate_DEST_CLIP( 0x0feb5ff0 [1280] -    0,   0- 640x 480 )
sh7722Blit( 320, 240 - 40x40  -> 320, 240 )
sh7722DoBlit( 320, 240 - 40x40  ->  320, 240 - 40x40 )
  -> running, hw 64-92, next 96-152 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 64-92, next 96-152 - valid
start_hardware()
  -> running, hw 64-92, next 96-180 - valid
sh7722EngineSync()
  -> running, hw 64-92, next 96-180 - valid
sh7722_wait_idle: TIMEOUT! (running, hw 96-180, next 184-184 - not 
valid, STATUS 0x00000000, INT_STATUS 0x00100000)
(!) SH7722/BLT: SH7722GFX_IOCTL_WAIT_IDLE failed!
    --> Connection timed out
  -> running, hw 96-180, next 184-184 - not valid
sh7722EngineReset()
  ->[sh7722_reset:244] 
shared->buffer_phys=0x2ea80000                     0x2ea80000
 running, hw 96-180, next 184-184 - not valid
BEU_Start: waiting
        done
 [[ Test_CreateWindow              ]]    - GetSurface()...
 [[ Test_CreateWindow              ]]    - Clear( 0x20, 0x50, 0xC0, 0xFF 
)...
sh7722CheckState( 0x42642c, 0x00000001 )
sh7722SetState( 0x42642c, 0x00000001 ) <- modified 0x00033fff
  -> not running, hw 0-0, next 0-0 - not valid
sh7722_validate_DEST_CLIP( 0x0fe0a1b0 [400] -    0,   0- 200x 200 )
sh7722FillRectangle( 0, 0 - 200x200 )
  -> not running, hw 0-0, next 0-0 - not valid
sh7722EmitCommands()
flush_prepared()
  -> not running, hw 0-0, next 0-0 - not valid
start_hardware()
  -> not running, hw 0-0, next 0-42 - valid
  -> running, hw 0-42, next 44-44 - not valid
[start_hardware:208] shared->buffer_phys=0x2ea80000
[start_hardware:209] shared->hw_start=0x00000000
sh7722SetState( 0x42642c, 0x00000002 ) <- modified 0x00000008
  -> running, hw 0-42, next 44-44 - not valid
sh7722DrawRectangle( 0, 0 - 200x200 )
  -> running, hw 0-42, next 44-44 - not valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 0-42, next 44-44 - not valid
start_hardware()
  -> running, hw 0-42, next 44-68 - valid
sh7722FillRectangle( 100, 1 - 1x198 )
  -> running, hw 0-42, next 44-68 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 0-42, next 44-68 - valid
start_hardware()
  -> running, hw 0-42, next 44-76 - valid
sh7722FillRectangle( 1, 100 - 198x1 )
  -> running, hw 0-42, next 44-76 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 0-42, next 44-76 - valid
start_hardware()
  -> running, hw 0-42, next 44-84 - valid
 [[ Test_CreateWindow              ]]    - SetOpacity( 255 )...
sh7722CheckState( 0x4215c4, 0x00010000 )
sh7722SetState( 0x4215c4, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 0-42, next 44-84 - valid
sh7722_validate_DEST_CLIP( 0x0fe1ffe0 [1280] -  100, 100- 200x 200 )
sh7722Blit( 0, 0 - 200x200  -> 100, 100 )
sh7722DoBlit( 0, 0 - 200x200  ->  100, 100 - 200x200 )
  -> running, hw 0-42, next 44-84 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 0-42, next 44-84 - valid
start_hardware()
  -> running, hw 0-42, next 44-112 - valid
sh7722CheckState( 0x2969f4cc, 0x00010000 )
sh7722SetState( 0x2969f4cc, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 0-42, next 44-112 - valid
sh7722_validate_DEST_CLIP( 0x0feb5ff0 [1280] -    0,   0- 640x 480 )
sh7722Blit( 100, 100 - 200x200  -> 100, 100 )
sh7722DoBlit( 100, 100 - 200x200  ->  100, 100 - 200x200 )
  -> running, hw 0-42, next 44-112 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 0-42, next 44-112 - valid
start_hardware()
  -> running, hw 0-42, next 44-140 - valid
sh7722EngineSync()
  -> running, hw 0-42, next 44-140 - valid
BEU_Start: waiting
        done
 [[ Test_CreateWindow              ]]    - GetID()...
 [[ Test_CreateWindow              ]]  ...CreateWindow( 100,100 - 
200x200 UNKNOWN ) done. => Top Window ID 1
===============================================================

 [[ Test_CreateSubWindow           ]]  CreateWindow( 40,40 - 120x120 
UNKNOWN + toplevel ID 1 )...
 [[ Test_CreateSubWindow           ]]    - GetSurface()...
 [[ Test_CreateSubWindow           ]]    - Clear( 0xC0, 0xC0, 0xC0, 0xFF 
)...
sh7722CheckState( 0x426e64, 0x00000001 )
sh7722SetState( 0x426e64, 0x00000001 ) <- modified 0x00033fff
  -> not running, hw 44-140, next 144-144 - not valid
sh7722_validate_DEST_CLIP( 0x0fe03120 [240] -    0,   0- 120x 120 )
sh7722FillRectangle( 0, 0 - 120x120 )
  -> not running, hw 44-140, next 144-144 - not valid
sh7722EmitCommands()
flush_prepared()
  -> not running, hw 44-140, next 144-144 - not valid
start_hardware()
  -> not running, hw 44-140, next 144-166 - valid
  -> running, hw 144-166, next 168-168 - not valid
[start_hardware:208] shared->buffer_phys=0x2ea80000
[start_hardware:209] shared->hw_start=0x00000090
sh7722SetState( 0x426e64, 0x00000002 ) <- modified 0x00000008
  -> running, hw 144-166, next 168-168 - not valid
sh7722DrawRectangle( 0, 0 - 120x120 )
  -> running, hw 144-166, next 168-168 - not valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 144-166, next 168-168 - not valid
start_hardware()
  -> running, hw 144-166, next 168-192 - valid
sh7722FillRectangle( 60, 1 - 1x118 )
  -> running, hw 144-166, next 168-192 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 144-166, next 168-192 - valid
start_hardware()
  -> running, hw 144-166, next 168-200 - valid
sh7722FillRectangle( 1, 60 - 118x1 )
  -> running, hw 144-166, next 168-200 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 144-166, next 168-200 - valid
start_hardware()
  -> running, hw 144-166, next 168-208 - valid
 [[ Test_CreateSubWindow           ]]    - SetOpacity( 255 )...
sh7722CheckState( 0x4215c4, 0x00010000 )
sh7722SetState( 0x4215c4, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 144-166, next 168-208 - valid
sh7722_validate_DEST_CLIP( 0x0fe1ffe0 [1280] -   40,  40- 120x 120 )
sh7722Blit( 0, 0 - 120x120  -> 40, 40 )
sh7722DoBlit( 0, 0 - 120x120  ->  40, 40 - 120x120 )
  -> running, hw 144-166, next 168-208 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 144-166, next 168-208 - valid
start_hardware()
  -> running, hw 144-166, next 168-236 - valid
sh7722CheckState( 0x2969f4cc, 0x00010000 )
sh7722SetState( 0x2969f4cc, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 144-166, next 168-236 - valid
sh7722_validate_DEST_CLIP( 0x0feb5ff0 [1280] -    0,   0- 640x 480 )
sh7722Blit( 40, 40 - 120x120  -> 40, 40 )
sh7722DoBlit( 40, 40 - 120x120  ->  40, 40 - 120x120 )
  -> running, hw 144-166, next 168-236 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 144-166, next 168-236 - valid
start_hardware()
  -> running, hw 144-166, next 168-264 - valid
sh7722EngineSync()
  -> running, hw 144-166, next 168-264 - valid
BEU_Start: waiting
        done
 [[ Test_CreateSubWindow           ]]    - GetID()...
 [[ Test_CreateSubWindow           ]]  ...CreateWindow( 40,40 - 120x120 
UNKNOWN + toplevel ID 1 ) done. => Sub Window ID 2
 [[ main                           ]]  Shutting down...
sh7722CheckState( 0x4215c4, 0x00000001 )
sh7722SetState( 0x4215c4, 0x00000001 ) <- modified 0x00033fff
  -> not running, hw 168-264, next 268-268 - not valid
sh7722_validate_DEST_CLIP( 0x0fe1ffe0 [1280] -   40,  40- 120x 120 )
sh7722FillRectangle( 40, 100 - 60x60 )
  -> not running, hw 168-264, next 268-268 - not valid
sh7722EmitCommands()
flush_prepared()
  -> not running, hw 168-264, next 268-268 - not valid
start_hardware()
  -> not running, hw 168-264, next 268-290 - valid
  -> running, hw 268-290, next 292-292 - not valid
[start_hardware:208] shared->buffer_phys=0x2ea80000
[start_hardware:209] shared->hw_start=0x0000010c
sh7722FillRectangle( 40, 40 - 120x60 )
  -> running, hw 268-290, next 292-292 - not valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 268-290, next 292-292 - not valid
start_hardware()
  -> running, hw 268-290, next 292-300 - valid
sh7722CheckState( 0x4215c4, 0x00010000 )
sh7722SetState( 0x4215c4, 0x00010000 ) <- modified 0x00000200
  -> running, hw 268-290, next 292-300 - valid
sh7722Blit( 0, 0 - 60x60  -> 100, 100 )
sh7722DoBlit( 0, 0 - 60x60  ->  100, 100 - 60x60 )
  -> running, hw 268-290, next 292-300 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 268-290, next 292-300 - valid
start_hardware()
  -> running, hw 268-290, next 292-318 - valid
sh7722CheckState( 0x2969f4cc, 0x00010000 )
sh7722SetState( 0x2969f4cc, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 268-290, next 292-318 - valid
sh7722_validate_DEST_CLIP( 0x0feb5ff0 [1280] -    0,   0- 640x 480 )
sh7722Blit( 40, 40 - 120x120  -> 40, 40 )
sh7722DoBlit( 40, 40 - 120x120  ->  40, 40 - 120x120 )
  -> running, hw 268-290, next 292-318 - valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 268-290, next 292-318 - valid
start_hardware()
  -> running, hw 268-290, next 292-346 - valid
sh7722EngineSync()
  -> running, hw 268-290, next 292-346 - valid
BEU_Start: waiting
        done
sh7722CheckState( 0x4215c4, 0x00000001 )
sh7722SetState( 0x4215c4, 0x00000001 ) <- modified 0x00033fff
  -> not running, hw 292-346, next 348-348 - not valid
sh7722_validate_DEST_CLIP( 0x0fe1ffe0 [1280] -  100, 100- 200x 200 )
sh7722FillRectangle( 100, 100 - 200x200 )
  -> not running, hw 292-346, next 348-348 - not valid
sh7722EmitCommands()
flush_prepared()
  -> not running, hw 292-346, next 348-348 - not valid
start_hardware()
  -> not running, hw 292-346, next 348-370 - valid
  -> running, hw 348-370, next 372-372 - not valid
[start_hardware:208] shared->buffer_phys=0x2ea80000
[start_hardware:209] shared->hw_start=0x0000015c
sh7722CheckState( 0x2969f4cc, 0x00010000 )
sh7722SetState( 0x2969f4cc, 0x00010000 ) <- modified 0x00033fff
  -> running, hw 348-370, next 372-372 - not valid
sh7722_validate_DEST_CLIP( 0x0feb5ff0 [1280] -    0,   0- 640x 480 )
sh7722Blit( 100, 100 - 200x200  -> 100, 100 )
sh7722DoBlit( 100, 100 - 200x200  ->  100, 100 - 200x200 )
  -> running, hw 348-370, next 372-372 - not valid
sh7722EmitCommands()
flush_prepared()
  -> running, hw 348-370, next 372-372 - not valid
start_hardware()
  -> running, hw 348-370, next 372-400 - valid
sh7722EngineSync()
  -> running, hw 348-370, next 372-400 - valid
sh7722_wait_idle: TIMEOUT! (running, hw 372-400, next 404-404 - not 
valid, STATUS 0x01110000, INT_STATUS 0x00000000)
(!) SH7722/BLT: SH7722GFX_IOCTL_WAIT_IDLE failed!
    --> Connection timed out
  -> running, hw 372-400, next 404-404 - not valid
sh7722EngineReset()
[sh7722_reset:244] shared->buffer_phys=0x2ea80000                     
0x2ea80000
  -> running, hw 372-400, next 404-404 - not valid
BEU_Start: waiting
        done
BEU_Wait: waiting
        done
BEU_StaFixing up unaligned userspace access in "dfbtest_window" pid=820 
pc=0x2a086fb6 ins=0x011e
Fixing up unaligned userspace access in "dfbtest_window" pid=820 
pc=0x2a086fb6 ins=0x011e
Fixing up unaligned userspace access in "dfbtest_window" pid=820 
pc=0x2a086fb6 ins=0x011e
rt: waiting
        done
sh7722EngineSync()
  -> not running, hw 0-0, next 0-0 - not valid
driver_close_device()
driver_close_driver()
(*) SH7722/BLT: 0 starts, 0 done, 0 interrupts, 0 wait_idle, 0 
wait_next, 0 idle
(*) SH7722/BLT: 0 words, 0 words/start, 0 words/idle, 0 starts/idle
~ # sh7722_tdg_irq: hw not running? INT_STATUS 0x00100000!

~ # ./dfbtest_window





_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to