Lines Matching refs:lb
358 static inline void dump_loader_block (volatile loader_block * lb) {
361 PRINTDB (DBG_LOAD, "lb @ %p; res: %d, cmd: %d, pay:",
362 lb, be32_to_cpu (lb->result), be32_to_cpu (lb->command));
364 PRINTDM (DBG_LOAD, " %08x", be32_to_cpu (lb->payload.data[i]));
365 PRINTDE (DBG_LOAD, ", vld: %08x", be32_to_cpu (lb->valid));
367 (void) lb;
1725 static int do_loader_command(volatile loader_block *lb, const amb_dev *dev,
1742 lb->result = 0;
1743 lb->command = cpu_to_be32 (cmd);
1744 lb->valid = cpu_to_be32 (DMA_VALID);
1746 // dump_loader_block (lb);
1747 wr_mem (dev, offsetof(amb_mem, doorbell), virt_to_bus (lb) & ~onegigmask);
1751 while (!lb->result || lb->result == cpu_to_be32 (COMMAND_IN_PROGRESS))
1757 dump_loader_block (lb);
1769 be32_to_cpu (lb->result));
1775 return decode_loader_result (cmd, be32_to_cpu (lb->result));
1782 static int get_loader_version(loader_block *lb, const amb_dev *dev,
1789 res = do_loader_command (lb, dev, get_version_number);
1793 *version = be32_to_cpu (lb->payload.version);
1799 static int loader_write(loader_block *lb, const amb_dev *dev,
1802 transfer_block * tb = &lb->payload.transfer;
1809 return do_loader_command (lb, dev, write_adapter_memory);
1814 static int loader_verify(loader_block *lb, const amb_dev *dev,
1817 transfer_block * tb = &lb->payload.transfer;
1824 res = do_loader_command (lb, dev, read_adapter_memory);
1832 static int loader_start(loader_block *lb, const amb_dev *dev, u32 address)
1836 lb->payload.start = cpu_to_be32 (address);
1837 return do_loader_command (lb, dev, adapter_start);
1908 static int ucode_init(loader_block *lb, amb_dev *dev)
1945 res = loader_write(lb, dev, rec);
1949 res = loader_verify(lb, dev, rec);
1956 res = loader_start(lb, dev, start_address);
2068 static void fixup_plx_window (amb_dev *dev, loader_block *lb)
2073 blb = virt_to_bus(lb);
2084 loader_block lb;
2091 fixup_plx_window (dev, &lb);
2093 if (get_loader_version (&lb, dev, &version)) {
2098 if (ucode_init (&lb, dev)) {