DMA를 쓰려면 보통 물리주소로 된 연속적인 메모리 공간이 필요하다.
커널 내에서 프레임버퍼 할당 부분을 참조하여 물리적 연속 메모리 공간을 확보해보았다.
struct device *eedev; // 일단 전역변수....
u_int qqms;
dma_addr_t qqmd;
qqms = PAGE_ALIGN(1000000 + PAGE_SIZE);
tt = qqms;
buf = dma_alloc_writecombine(eedev, qqms, &qqmd, GFP_KERNEL);
dma_free_writecombine(eedev, qqms, buf, qqmd); // 해제하는 부분..
// 물리 주소는 qqmd 로 쓰면 됨...
이런 선형적 물리 주소 공간은 쓰임새가 따로 있다.
그건 나중에..