2021-12-07 07:19:21

by Cai Huoqing

[permalink] [raw]
Subject: Habanalabs, Ask for the linux firmware code which loads by coprocesseor

Hi Oded Gabbay and habanalabs folks.

I'm insterested in this kind of AI acceralator.

After scanning the driver code.
It seems that there are a linux firmware which is loaded by
coprocessor(an slave cpu ?).
shows in the code.

./goya/goya.c:74:#define GOYA_LINUX_FW_FILE "habanalabs/goya/goya-fit.itb"
./goya/goya.c:2436: return hl_fw_load_fw_to_device(hdev, GOYA_LINUX_FW_FILE, dst, 0, 0);
./goya/goya.c:2507: fw_loader->linux_img.image_name = GOYA_LINUX_FW_FILE;
./gaudi/gaudi.c:63:#define GAUDI_LINUX_FW_FILE "habanalabs/gaudi/gaudi-fit.itb"
./gaudi/gaudi.c:3945: return hl_fw_load_fw_to_device(hdev, GAUDI_LINUX_FW_FILE, dst, 0, 0);
./gaudi/gaudi.c:4011: fw_loader->linux_img.image_name = GAUDI_LINUX_FW_FILE;

And the host driver(/driver/misc/habanalabs) communicate with the slave firmware
by MMIO or share memory, right?

If that, would you mind provide the source code of linux firmware
to avoid the confusion from code reading.

BTW, where can I find the register description datasheet

Many Thanks,
Cai


2021-12-09 12:24:17

by Oded Gabbay

[permalink] [raw]
Subject: Re: Habanalabs, Ask for the linux firmware code which loads by coprocesseor

On Tue, Dec 7, 2021 at 9:19 AM Cai Huoqing <[email protected]> wrote:
>
> Hi Oded Gabbay and habanalabs folks.
>
> I'm insterested in this kind of AI acceralator.
>
> After scanning the driver code.
> It seems that there are a linux firmware which is loaded by
> coprocessor(an slave cpu ?).
> shows in the code.
>
> ./goya/goya.c:74:#define GOYA_LINUX_FW_FILE "habanalabs/goya/goya-fit.itb"
> ./goya/goya.c:2436: return hl_fw_load_fw_to_device(hdev, GOYA_LINUX_FW_FILE, dst, 0, 0);
> ./goya/goya.c:2507: fw_loader->linux_img.image_name = GOYA_LINUX_FW_FILE;
> ./gaudi/gaudi.c:63:#define GAUDI_LINUX_FW_FILE "habanalabs/gaudi/gaudi-fit.itb"
> ./gaudi/gaudi.c:3945: return hl_fw_load_fw_to_device(hdev, GAUDI_LINUX_FW_FILE, dst, 0, 0);
> ./gaudi/gaudi.c:4011: fw_loader->linux_img.image_name = GAUDI_LINUX_FW_FILE;
>
> And the host driver(/driver/misc/habanalabs) communicate with the slave firmware
> by MMIO or share memory, right?
>
> If that, would you mind provide the source code of linux firmware
> to avoid the confusion from code reading.
Hi Cai,

You can download the source code from:
https://vault.habana.ai/artifactory/misc/hl-linux.bz2

>
> BTW, where can I find the register description datasheet
We don't supply this information.
Thanks,
Oded

2021-12-10 12:55:31

by Cai Huoqing

[permalink] [raw]
Subject: Re: Habanalabs, Ask for the linux firmware code which loads by coprocesseor

On 09 12月 21 14:23:45, Oded Gabbay wrote:
> On Tue, Dec 7, 2021 at 9:19 AM Cai Huoqing <[email protected]> wrote:
> >
> > Hi Oded Gabbay and habanalabs folks.
> >
> > I'm insterested in this kind of AI acceralator.
> >
> > After scanning the driver code.
> > It seems that there are a linux firmware which is loaded by
> > coprocessor(an slave cpu ?).
> > shows in the code.
> >
> > ./goya/goya.c:74:#define GOYA_LINUX_FW_FILE "habanalabs/goya/goya-fit.itb"
> > ./goya/goya.c:2436: return hl_fw_load_fw_to_device(hdev, GOYA_LINUX_FW_FILE, dst, 0, 0);
> > ./goya/goya.c:2507: fw_loader->linux_img.image_name = GOYA_LINUX_FW_FILE;
> > ./gaudi/gaudi.c:63:#define GAUDI_LINUX_FW_FILE "habanalabs/gaudi/gaudi-fit.itb"
> > ./gaudi/gaudi.c:3945: return hl_fw_load_fw_to_device(hdev, GAUDI_LINUX_FW_FILE, dst, 0, 0);
> > ./gaudi/gaudi.c:4011: fw_loader->linux_img.image_name = GAUDI_LINUX_FW_FILE;
> >
> > And the host driver(/driver/misc/habanalabs) communicate with the slave firmware
> > by MMIO or share memory, right?
> >
> > If that, would you mind provide the source code of linux firmware
> > to avoid the confusion from code reading.
> Hi Cai,
>
> You can download the source code from:
> https://vault.habana.ai/artifactory/misc/hl-linux.bz2
Thanks, that's what I need, pretty nice code!
And I will be glad to see you taking it into the linux mailine soon.

Thanks,
Cai
>
> >
> > BTW, where can I find the register description datasheet
> We don't supply this information.
> Thanks,
> Oded